From 6c108b363ede984b2bd5905a69bfe34599089b27 Mon Sep 17 00:00:00 2001 From: Matt Morehouse Date: Wed, 11 Oct 2017 18:29:24 +0000 Subject: [PATCH] [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 llvm-svn: 315486 --- clang/tools/clang-fuzzer/CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/clang/tools/clang-fuzzer/CMakeLists.txt b/clang/tools/clang-fuzzer/CMakeLists.txt index 9152ddc8f080..2dc286ff73bb 100644 --- a/clang/tools/clang-fuzzer/CMakeLists.txt +++ b/clang/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 )