Index: llvm/trunk/lib/Fuzzer/CMakeLists.txt =================================================================== --- llvm/trunk/lib/Fuzzer/CMakeLists.txt +++ llvm/trunk/lib/Fuzzer/CMakeLists.txt @@ -11,17 +11,14 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dthread_local=__thread") endif() -set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS}") -# Disable the coverage and sanitizer instrumentation for the fuzzer itself. -set(CMAKE_CXX_FLAGS "${LIBFUZZER_FLAGS_BASE} -fno-sanitize-coverage=trace-pc-guard,edge,trace-cmp,indirect-calls,8bit-counters -Werror") if( LLVM_USE_SANITIZE_COVERAGE ) - if(NOT "${LLVM_USE_SANITIZER}" STREQUAL "Address") - message(FATAL_ERROR - "LibFuzzer and its tests require LLVM_USE_SANITIZER=Address and " - "LLVM_USE_SANITIZE_COVERAGE=YES to be set." - ) - endif() - add_library(LLVMFuzzerNoMainObjects OBJECT + set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS}") + + # Disable the coverage and sanitizer instrumentation for the fuzzer itself. + set(CMAKE_CXX_FLAGS "${LIBFUZZER_FLAGS_BASE} -fno-sanitize-coverage=trace-pc-guard,edge,trace-cmp,indirect-calls,8bit-counters -Werror") +endif() + +add_library(LLVMFuzzerNoMainObjects OBJECT FuzzerCrossOver.cpp FuzzerDriver.cpp FuzzerExtFunctionsDlsym.cpp @@ -45,15 +42,24 @@ FuzzerUtilPosix.cpp FuzzerUtilWindows.cpp ) - add_library(LLVMFuzzerNoMain STATIC +add_library(LLVMFuzzerNoMain STATIC $ ) - target_link_libraries(LLVMFuzzerNoMain ${LLVM_PTHREAD_LIB}) - add_library(LLVMFuzzer STATIC +target_link_libraries(LLVMFuzzerNoMain ${LLVM_PTHREAD_LIB}) +add_library(LLVMFuzzer STATIC FuzzerMain.cpp $ ) - target_link_libraries(LLVMFuzzer ${LLVM_PTHREAD_LIB}) +target_link_libraries(LLVMFuzzer ${LLVM_PTHREAD_LIB}) + +if( LLVM_USE_SANITIZE_COVERAGE ) + + if(NOT "${LLVM_USE_SANITIZER}" STREQUAL "Address") + message(FATAL_ERROR + "LibFuzzer tests require LLVM_USE_SANITIZER=Address and " + "LLVM_USE_SANITIZE_COVERAGE=YES to be set." + ) + endif() if( LLVM_INCLUDE_TESTS ) add_subdirectory(test)