summaryrefslogtreecommitdiffstats
path: root/tools/clang-fuzzer
diff options
context:
space:
mode:
authorMatt Morehouse <mascasa@google.com>2017-10-11 18:29:24 +0000
committerMatt Morehouse <mascasa@google.com>2017-10-11 18:29:24 +0000
commit0c759b0a18325704d647011cb80a1a930de44902 (patch)
treeab5d32e80a6519d66875a5e32cf5fbee93cf9c67 /tools/clang-fuzzer
parent61f290578c0923263d4551e1f8287d4bcd71da95 (diff)
[clang-fuzzer] Allow linking with any fuzzing engine.
Summary: Makes clang-[proto-]fuzzer compatible with flags specified by OSS-Fuzz. https://llvm.org/pr34314 Reviewers: vitalybuka, kcc Reviewed By: kcc Subscribers: cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D38812 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@315486 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/clang-fuzzer')
-rw-r--r--tools/clang-fuzzer/CMakeLists.txt6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/clang-fuzzer/CMakeLists.txt b/tools/clang-fuzzer/CMakeLists.txt
index 9152ddc8f0..2dc286ff73 100644
--- a/tools/clang-fuzzer/CMakeLists.txt
+++ b/tools/clang-fuzzer/CMakeLists.txt
@@ -1,7 +1,9 @@
set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} FuzzMutate)
set(CXX_FLAGS_NOFUZZ ${CMAKE_CXX_FLAGS})
set(DUMMY_MAIN DummyClangFuzzer.cpp)
-if(LLVM_USE_SANITIZE_COVERAGE)
+if(DEFINED LIB_FUZZING_ENGINE)
+ unset(DUMMY_MAIN)
+elseif(LLVM_USE_SANITIZE_COVERAGE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer")
set(CXX_FLAGS_NOFUZZ "${CXX_FLAGS_NOFUZZ} -fsanitize=fuzzer-no-link")
unset(DUMMY_MAIN)
@@ -48,6 +50,7 @@ if(CLANG_ENABLE_PROTO_FUZZER)
target_link_libraries(clang-proto-fuzzer
${ProtobufMutator_LIBRARIES}
${PROTOBUF_LIBRARIES}
+ ${LIB_FUZZING_ENGINE}
clangCXXProto
clangHandleCXX
clangProtoToCXX
@@ -63,5 +66,6 @@ add_clang_executable(clang-fuzzer
)
target_link_libraries(clang-fuzzer
+ ${LIB_FUZZING_ENGINE}
clangHandleCXX
)