cmake_minimum_required(VERSION 3.10.0)
project(skcms)

add_library(skcms skcms.c)

enable_testing()
add_executable(tests tests.c test_only.c)
target_link_libraries(tests skcms)
add_test(tests tests)

add_executable(bench bench.c)
target_link_libraries(bench skcms)

add_executable(iccdump iccdump.c test_only.c)
target_link_libraries(iccdump skcms)

add_executable(fuzz_iccprofile_atf fuzz/fuzz_iccprofile_atf.c fuzz/fuzz_main.c)
target_link_libraries(fuzz_iccprofile_atf skcms)

add_executable(fuzz_iccprofile_info fuzz/fuzz_iccprofile_info.c fuzz/fuzz_main.c)
target_link_libraries(fuzz_iccprofile_info skcms)

add_executable(fuzz_iccprofile_transform fuzz/fuzz_iccprofile_transform.c fuzz/fuzz_main.c)
target_link_libraries(fuzz_iccprofile_transform skcms)

if (${CMAKE_C_COMPILER_ID} MATCHES "Clang")
    target_compile_options(skcms                     PRIVATE -Weverything -Werror -Wno-padded -fcolor-diagnostics)
    target_compile_options(tests                     PRIVATE -Weverything -Werror -Wno-padded -fcolor-diagnostics)
    target_compile_options(bench                     PRIVATE -Weverything -Werror -Wno-padded -fcolor-diagnostics)
    target_compile_options(iccdump                   PRIVATE -Weverything -Werror -Wno-padded -fcolor-diagnostics)
    target_compile_options(fuzz_iccprofile_atf       PRIVATE -Weverything -Werror -Wno-padded -fcolor-diagnostics)
    target_compile_options(fuzz_iccprofile_info      PRIVATE -Weverything -Werror -Wno-padded -fcolor-diagnostics)
    target_compile_options(fuzz_iccprofile_transform PRIVATE -Weverything -Werror -Wno-padded -fcolor-diagnostics)
elseif (${CMAKE_C_COMPILER_ID} MATCHES "GNU")
    target_compile_options(skcms                     PRIVATE -Wall -Wextra -Werror -fdiagnostics-color)
    target_compile_options(tests                     PRIVATE -Wall -Wextra -Werror -fdiagnostics-color)
    target_compile_options(bench                     PRIVATE -Wall -Wextra -Werror -fdiagnostics-color)
    target_compile_options(iccdump                   PRIVATE -Wall -Wextra -Werror -fdiagnostics-color)
    target_compile_options(fuzz_iccprofile_atf       PRIVATE -Wall -Wextra -Werror -fdiagnostics-color)
    target_compile_options(fuzz_iccprofile_info      PRIVATE -Wall -Wextra -Werror -fdiagnostics-color)
    target_compile_options(fuzz_iccprofile_transform PRIVATE -Wall -Wextra -Werror -fdiagnostics-color)
elseif (MSVC)
    target_compile_options(skcms                     PRIVATE /W4 /WX /wd4200 /wd4201 /wd4204 /wd4221)
    target_compile_options(tests                     PRIVATE /W4 /WX /wd4201 /wd4204 /wd4221)
    target_compile_options(bench                     PRIVATE /W4 /WX /wd4201)
    target_compile_options(iccdump                   PRIVATE /W4 /WX /wd4201 /wd4204)
    target_compile_options(fuzz_iccprofile_atf       PRIVATE /W4 /WX /wd4201)
    target_compile_options(fuzz_iccprofile_info      PRIVATE /W4 /WX /wd4201)
    target_compile_options(fuzz_iccprofile_transform PRIVATE /W4 /WX /wd4201)
endif()

