Home | History | Annotate | Download | only in Fuzzer
      1 set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS_RELEASE}")
      2 # Disable the coverage and sanitizer instrumentation for the fuzzer itself.
      3 set(CMAKE_CXX_FLAGS_RELEASE "${LIBFUZZER_FLAGS_BASE} -O2 -fno-sanitize=all")
      4 if( LLVM_USE_SANITIZE_COVERAGE )
      5   add_library(LLVMFuzzerNoMainObjects OBJECT
      6     FuzzerCrossOver.cpp
      7     FuzzerInterface.cpp
      8     FuzzerTraceState.cpp
      9     FuzzerDriver.cpp
     10     FuzzerIO.cpp
     11     FuzzerLoop.cpp
     12     FuzzerMutate.cpp
     13     FuzzerSanitizerOptions.cpp
     14     FuzzerSHA1.cpp
     15     FuzzerUtil.cpp
     16     )
     17   add_library(LLVMFuzzerNoMain STATIC
     18     $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
     19     )
     20   if( HAVE_LIBPTHREAD )
     21     target_link_libraries(LLVMFuzzerNoMain pthread)
     22   endif()
     23   add_library(LLVMFuzzer STATIC
     24     FuzzerMain.cpp
     25     $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
     26     )
     27   if( HAVE_LIBPTHREAD )
     28     target_link_libraries(LLVMFuzzer pthread)
     29   endif()
     30 
     31   if( LLVM_INCLUDE_TESTS )
     32     add_subdirectory(test)
     33   endif()
     34 endif()
     35