blob: eeae5112ca5a9d82928e3a7130be87c4da3b7f9e [file] [log] [blame]
Kostya Serebryany16d03bd2015-03-30 22:09:51 +00001set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS_RELEASE}")
2# Disable the coverage and sanitizer instrumentation for the fuzzer itself.
Kostya Serebryany90bcdb52016-02-18 02:02:40 +00003set(CMAKE_CXX_FLAGS_RELEASE "${LIBFUZZER_FLAGS_BASE} -O2 -fno-sanitize=all -fno-sanitize-coverage=edge,trace-cmp,indirect-calls,8bit-counters ")
Aaron Ballmanf77031f2015-04-06 16:09:13 +00004if( LLVM_USE_SANITIZE_COVERAGE )
Kostya Serebryanyf3424592015-05-22 22:35:31 +00005 add_library(LLVMFuzzerNoMainObjects OBJECT
Aaron Ballmanef116982015-01-29 16:58:29 +00006 FuzzerCrossOver.cpp
Kostya Serebryanyf3424592015-05-22 22:35:31 +00007 FuzzerInterface.cpp
Kostya Serebryany22526252015-05-11 21:16:27 +00008 FuzzerTraceState.cpp
Kostya Serebryany016852c2015-02-19 18:45:37 +00009 FuzzerDriver.cpp
Aaron Ballmanef116982015-01-29 16:58:29 +000010 FuzzerIO.cpp
11 FuzzerLoop.cpp
Aaron Ballmanef116982015-01-29 16:58:29 +000012 FuzzerMutate.cpp
Kostya Serebryanydb4d6452015-02-06 19:52:07 +000013 FuzzerSanitizerOptions.cpp
Kostya Serebryany96eab652015-05-14 22:41:49 +000014 FuzzerSHA1.cpp
Kostya Serebryanyda63c1d2016-02-26 21:33:56 +000015 FuzzerTracePC.cpp
Aaron Ballmanef116982015-01-29 16:58:29 +000016 FuzzerUtil.cpp
17 )
Kostya Serebryanyf3424592015-05-22 22:35:31 +000018 add_library(LLVMFuzzerNoMain STATIC
19 $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
20 )
Peter Collingbourne16c19782015-12-16 02:14:57 +000021 if( HAVE_LIBPTHREAD )
22 target_link_libraries(LLVMFuzzerNoMain pthread)
23 endif()
Kostya Serebryany71672552015-01-30 23:26:57 +000024 add_library(LLVMFuzzer STATIC
25 FuzzerMain.cpp
Kostya Serebryanyf3424592015-05-22 22:35:31 +000026 $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
Kostya Serebryany71672552015-01-30 23:26:57 +000027 )
Peter Collingbourne16c19782015-12-16 02:14:57 +000028 if( HAVE_LIBPTHREAD )
29 target_link_libraries(LLVMFuzzer pthread)
30 endif()
Aaron Ballmanef116982015-01-29 16:58:29 +000031
32 if( LLVM_INCLUDE_TESTS )
33 add_subdirectory(test)
34 endif()
35endif()