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 FuzzerExtFunctionsDlsymWin.cpp
16 FuzzerExtFunctionsWeak.cpp
25 FuzzerShmemWindows.cpp
34 add_library(LLVMFuzzerNoMain STATIC
35 $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
37 target_link_libraries(LLVMFuzzerNoMain ${LLVM_PTHREAD_LIB})
38 add_library(LLVMFuzzer STATIC
40 $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
42 target_link_libraries(LLVMFuzzer ${LLVM_PTHREAD_LIB})
44 if( LLVM_INCLUDE_TESTS )
45 add_subdirectory(test)