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
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)
target_link_libraries(clang-proto-fuzzer
${ProtobufMutator_LIBRARIES}
${PROTOBUF_LIBRARIES}
+ ${LIB_FUZZING_ENGINE}
clangCXXProto
clangHandleCXX
clangProtoToCXX
)
target_link_libraries(clang-fuzzer
+ ${LIB_FUZZING_ENGINE}
clangHandleCXX
)