2020-09-23 21:54:09 +02:00
|
|
|
# License: Boost 1.0
|
|
|
|
# By Paul Dreik 2020
|
|
|
|
|
|
|
|
# add a library that brings in the main() function from libfuzzer
|
|
|
|
# and has all the dependencies, so the individual fuzzers can be
|
|
|
|
# added one line each.
|
|
|
|
add_library(fuzzhelper NullOStream.h NullOStream.cpp)
|
|
|
|
target_link_libraries(fuzzhelper PUBLIC Catch2::Catch2)
|
|
|
|
|
2020-09-25 20:57:12 +02:00
|
|
|
# use C++17 so we can get string_view
|
|
|
|
target_compile_features(fuzzhelper PUBLIC cxx_std_17)
|
|
|
|
|
2020-09-23 21:54:09 +02:00
|
|
|
# This should be possible to set from the outside to be oss-fuzz compatible,
|
|
|
|
# fix later. For now, target libFuzzer only.
|
|
|
|
target_link_options(fuzzhelper PUBLIC "-fsanitize=fuzzer")
|
|
|
|
|
2020-09-25 20:57:12 +02:00
|
|
|
foreach(fuzzer TestSpecParser XmlWriter textflow)
|
2020-09-23 21:54:09 +02:00
|
|
|
add_executable(fuzz_${fuzzer} fuzz_${fuzzer}.cpp)
|
|
|
|
target_link_libraries(fuzz_${fuzzer} PRIVATE fuzzhelper)
|
|
|
|
endforeach()
|