1 set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS}")
2 # Disable the coverage and sanitizer instrumentation for the fuzzer itself.
3 set(CMAKE_CXX_FLAGS "${LIBFUZZER_FLAGS_BASE} -fno-sanitize-coverage=trace-pc-guard,edge,trace-cmp,indirect-calls,8bit-counters -Werror")
4 if( LLVM_USE_SANITIZE_COVERAGE )
5 if(NOT "${LLVM_USE_SANITIZER}" STREQUAL "Address")
7 "LibFuzzer and its tests require LLVM_USE_SANITIZER=Address and "
8 "LLVM_USE_SANITIZE_COVERAGE=YES to be set."
11 add_library(LLVMFuzzerNoMainObjects OBJECT
14 FuzzerExtFunctionsDlsym.cpp
15 FuzzerExtFunctionsWeak.cpp
16 FuzzerExtFunctionsWeakAlias.cpp
32 add_library(LLVMFuzzerNoMain STATIC
33 $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
35 target_link_libraries(LLVMFuzzerNoMain ${PTHREAD_LIB})
36 add_library(LLVMFuzzer STATIC
38 $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
40 target_link_libraries(LLVMFuzzer ${PTHREAD_LIB})
42 if( LLVM_INCLUDE_TESTS )
43 add_subdirectory(test)