1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/lib/Fuzzer/CMakeLists.txt
Peter Collingbourne f8ab9e45d0 Fuzzer: Fix library dependencies.
Newer versions of libstdc++ (4.9+), as well as libc++, depend directly on
libpthread from the standard library headers, so libfuzzer needs to declare
a standard library dependency.

llvm-svn: 255745
2015-12-16 02:14:57 +00:00

35 lines
944 B
CMake

set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS_RELEASE}")
# Disable the coverage and sanitizer instrumentation for the fuzzer itself.
set(CMAKE_CXX_FLAGS_RELEASE "${LIBFUZZER_FLAGS_BASE} -O2 -fno-sanitize=all")
if( LLVM_USE_SANITIZE_COVERAGE )
add_library(LLVMFuzzerNoMainObjects OBJECT
FuzzerCrossOver.cpp
FuzzerInterface.cpp
FuzzerTraceState.cpp
FuzzerDriver.cpp
FuzzerIO.cpp
FuzzerLoop.cpp
FuzzerMutate.cpp
FuzzerSanitizerOptions.cpp
FuzzerSHA1.cpp
FuzzerUtil.cpp
)
add_library(LLVMFuzzerNoMain STATIC
$<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
)
if( HAVE_LIBPTHREAD )
target_link_libraries(LLVMFuzzerNoMain pthread)
endif()
add_library(LLVMFuzzer STATIC
FuzzerMain.cpp
$<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
)
if( HAVE_LIBPTHREAD )
target_link_libraries(LLVMFuzzer pthread)
endif()
if( LLVM_INCLUDE_TESTS )
add_subdirectory(test)
endif()
endif()