blob: df92a88a75b5eb28510b37ddc69051ea9d1bccaf [file] [log] [blame]
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()