diff --git a/CMakeLists.txt b/CMakeLists.txt index 41c45a1..8dbf876 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -78,23 +78,25 @@ target_include_directories(conflict_set_main PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) target_compile_definitions(conflict_set_main PRIVATE ENABLE_MAIN) -# libfuzzer target, to generate/manage corpus -set(FUZZ_FLAGS "-fsanitize=fuzzer-no-link,address,undefined") -include(CheckCXXCompilerFlag) -cmake_push_check_state() -set(CMAKE_REQUIRED_LINK_OPTIONS -fsanitize=fuzzer-no-link) -check_cxx_compiler_flag(-fsanitize=fuzzer-no-link HAS_LIB_FUZZER) -cmake_pop_check_state() +if(NOT APPLE) + # libfuzzer target, to generate/manage corpus + set(FUZZ_FLAGS "-fsanitize=fuzzer-no-link,address,undefined") + include(CheckCXXCompilerFlag) + cmake_push_check_state() + set(CMAKE_REQUIRED_LINK_OPTIONS -fsanitize=fuzzer-no-link) + check_cxx_compiler_flag(-fsanitize=fuzzer-no-link HAS_LIB_FUZZER) + cmake_pop_check_state() -if(HAS_LIB_FUZZER) - add_executable(conflict_set_fuzz_test ConflictSet.cpp) - target_include_directories(conflict_set_fuzz_test - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) - target_compile_definitions(conflict_set_fuzz_test PRIVATE ENABLE_FUZZ) - target_compile_options(conflict_set_fuzz_test PRIVATE ${TEST_FLAGS}) - target_compile_options(conflict_set_fuzz_test PRIVATE ${FUZZ_FLAGS}) - target_link_options(conflict_set_fuzz_test PRIVATE ${FUZZ_FLAGS} - -fsanitize=fuzzer) + if(HAS_LIB_FUZZER) + add_executable(conflict_set_fuzz_test ConflictSet.cpp) + target_include_directories(conflict_set_fuzz_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) + target_compile_definitions(conflict_set_fuzz_test PRIVATE ENABLE_FUZZ) + target_compile_options(conflict_set_fuzz_test PRIVATE ${TEST_FLAGS}) + target_compile_options(conflict_set_fuzz_test PRIVATE ${FUZZ_FLAGS}) + target_link_options(conflict_set_fuzz_test PRIVATE ${FUZZ_FLAGS} + -fsanitize=fuzzer) + endif() endif() # corpus tests