diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 7fab0b8..3ca04aa 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -69,26 +69,30 @@ if(BUILD_TESTING) PRIVATE ${PROJECT_SOURCE_DIR}/tests/extlib/doctest/doctest/ ) target_link_libraries(${TEST_NAME} PUBLIC toml11 toml11_test_utility) - target_compile_options(${TEST_NAME} PRIVATE - $<$: -Wall > - $<$: -Wextra > - $<$: -Wpedantic > - $<$: -Wsign-conversion > - $<$: -Wconversion > - $<$: -Wduplicated-cond > - $<$: -Wduplicated-branches> - $<$: -Wlogical-op > - $<$: -Wdouble-promotion > - $<$: -Wrange-loop-analysis> - $<$: -Wundef > - $<$: -Wshadow > - $<$: -fsanitize=address > - $<$: -fsanitize=undefined > - ) - target_link_options(${TEST_NAME} PRIVATE - $<$: -fsanitize=address > - $<$: -fsanitize=undefined > - ) + if(MSVC) + target_compile_options(${TEST_NAME} PRIVATE /W3) + else() + target_compile_options(${TEST_NAME} PRIVATE + $<$: -Wall > + $<$: -Wextra > + $<$: -Wpedantic > + $<$: -Wsign-conversion > + $<$: -Wconversion > + $<$: -Wduplicated-cond > + $<$: -Wduplicated-branches> + $<$: -Wlogical-op > + $<$: -Wdouble-promotion > + $<$: -Wrange-loop-analysis> + $<$: -Wundef > + $<$: -Wshadow > + $<$: -fsanitize=address > + $<$: -fsanitize=undefined > + ) + target_link_options(${TEST_NAME} PRIVATE + $<$: -fsanitize=address > + $<$: -fsanitize=undefined > + ) + endif() add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME}) endforeach(TEST_NAME) endif(BUILD_TESTING) @@ -104,26 +108,30 @@ if(TOML11_BUILD_TOML_TESTS) PRIVATE ${PROJECT_SOURCE_DIR}/tests/extlib/json/include/ ) target_link_libraries(toml11_decoder PRIVATE toml11) - target_compile_options(toml11_decoder PRIVATE - $<$: -Wall > - $<$: -Wextra > - $<$: -Wpedantic > - $<$: -Wsign-conversion > - $<$: -Wconversion > - $<$: -Wduplicated-cond > - $<$: -Wduplicated-branches> - $<$: -Wlogical-op > - $<$: -Wdouble-promotion > - $<$: -Wrange-loop-analysis> - $<$: -Wundef > - $<$: -Wshadow > - $<$: -fsanitize=address > - $<$: -fsanitize=undefined > - ) - target_link_options(toml11_decoder PRIVATE - $<$: -fsanitize=address > - $<$: -fsanitize=undefined > - ) + if(MSVC) + target_compile_options(${TEST_NAME} PRIVATE /W3) + else() + target_compile_options(toml11_decoder PRIVATE + $<$: -Wall > + $<$: -Wextra > + $<$: -Wpedantic > + $<$: -Wsign-conversion > + $<$: -Wconversion > + $<$: -Wduplicated-cond > + $<$: -Wduplicated-branches> + $<$: -Wlogical-op > + $<$: -Wdouble-promotion > + $<$: -Wrange-loop-analysis> + $<$: -Wundef > + $<$: -Wshadow > + $<$: -fsanitize=address > + $<$: -fsanitize=undefined > + ) + target_link_options(toml11_decoder PRIVATE + $<$: -fsanitize=address > + $<$: -fsanitize=undefined > + ) + endif() add_executable(toml11_decoder_v1_1_0 to_json.cpp) target_include_directories(toml11_decoder_v1_1_0 @@ -132,26 +140,30 @@ if(TOML11_BUILD_TOML_TESTS) ) target_compile_definitions(toml11_decoder_v1_1_0 PRIVATE -DTOML11_TO_JSON_USE_V1_1_0) target_link_libraries(toml11_decoder_v1_1_0 PRIVATE toml11) - target_compile_options(toml11_decoder_v1_1_0 PRIVATE - $<$: -Wall > - $<$: -Wextra > - $<$: -Wpedantic > - $<$: -Wsign-conversion > - $<$: -Wconversion > - $<$: -Wduplicated-cond > - $<$: -Wduplicated-branches> - $<$: -Wlogical-op > - $<$: -Wdouble-promotion > - $<$: -Wrange-loop-analysis> - $<$: -Wundef > - $<$: -Wshadow > - $<$: -fsanitize=address > - $<$: -fsanitize=undefined > - ) - target_link_options(toml11_decoder_v1_1_0 PRIVATE - $<$: -fsanitize=address > - $<$: -fsanitize=undefined > - ) + if(MSVC) + target_compile_options(${TEST_NAME} PRIVATE /W3) + else() + target_compile_options(toml11_decoder_v1_1_0 PRIVATE + $<$: -Wall > + $<$: -Wextra > + $<$: -Wpedantic > + $<$: -Wsign-conversion > + $<$: -Wconversion > + $<$: -Wduplicated-cond > + $<$: -Wduplicated-branches> + $<$: -Wlogical-op > + $<$: -Wdouble-promotion > + $<$: -Wrange-loop-analysis> + $<$: -Wundef > + $<$: -Wshadow > + $<$: -fsanitize=address > + $<$: -fsanitize=undefined > + ) + target_link_options(toml11_decoder_v1_1_0 PRIVATE + $<$: -fsanitize=address > + $<$: -fsanitize=undefined > + ) + endif() add_executable(toml11_encoder to_toml.cpp) target_include_directories(toml11_encoder @@ -159,24 +171,28 @@ if(TOML11_BUILD_TOML_TESTS) PRIVATE ${PROJECT_SOURCE_DIR}/tests/extlib/json/include/ ) target_link_libraries(toml11_encoder PRIVATE toml11) - target_compile_options(toml11_encoder PRIVATE - $<$: -Wall > - $<$: -Wextra > - $<$: -Wpedantic > - $<$: -Wsign-conversion > - $<$: -Wconversion > - $<$: -Wduplicated-cond > - $<$: -Wduplicated-branches> - $<$: -Wlogical-op > - $<$: -Wdouble-promotion > - $<$: -Wrange-loop-analysis> - $<$: -Wundef > - $<$: -Wshadow > - $<$: -fsanitize=address > - $<$: -fsanitize=undefined > - ) - target_link_options(toml11_encoder PRIVATE - $<$: -fsanitize=address > - $<$: -fsanitize=undefined > - ) + if(MSVC) + target_compile_options(${TEST_NAME} PRIVATE /W3) + else() + target_compile_options(toml11_encoder PRIVATE + $<$: -Wall > + $<$: -Wextra > + $<$: -Wpedantic > + $<$: -Wsign-conversion > + $<$: -Wconversion > + $<$: -Wduplicated-cond > + $<$: -Wduplicated-branches> + $<$: -Wlogical-op > + $<$: -Wdouble-promotion > + $<$: -Wrange-loop-analysis> + $<$: -Wundef > + $<$: -Wshadow > + $<$: -fsanitize=address > + $<$: -fsanitize=undefined > + ) + target_link_options(toml11_encoder PRIVATE + $<$: -fsanitize=address > + $<$: -fsanitize=undefined > + ) + endif() endif(TOML11_BUILD_TOML_TESTS)