| cmake_minimum_required(VERSION 3.10.0) |
| project(skcms) |
| |
| add_library(skcms skcms.c) |
| |
| enable_testing() |
| add_executable(tests tests.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) |
| 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 /wd4204 /wd4221) |
| target_compile_options(tests PRIVATE /W4 /WX /wd4221) |
| target_compile_options(bench PRIVATE /W4 /WX) |
| target_compile_options(iccdump PRIVATE /W4 /WX) |
| target_compile_options(fuzz_iccprofile_atf PRIVATE /W4 /WX) |
| target_compile_options(fuzz_iccprofile_info PRIVATE /W4 /WX) |
| target_compile_options(fuzz_iccprofile_transform PRIVATE /W4 /WX) |
| endif() |
| |