xref: /llvm-project/compiler-rt/tools/gwp_asan/CMakeLists.txt (revision 6a42cbf6d2116b52cb59aa3e23bef93a30cf2dc8)
1# Build the stack trace compressor fuzzer. This will require Clang >= 6.0.0, as
2# -fsanitize=fuzzer-no-link was not a valid command line flag prior to this.
3if (LLVM_USE_SANITIZE_COVERAGE)
4  add_executable(stack_trace_compressor_fuzzer
5      ../../lib/gwp_asan/stack_trace_compressor.cpp
6      ../../lib/gwp_asan/stack_trace_compressor.h
7      stack_trace_compressor_fuzzer.cpp)
8  set_target_properties(
9      stack_trace_compressor_fuzzer PROPERTIES FOLDER "Fuzzers")
10  target_compile_options(
11      stack_trace_compressor_fuzzer PRIVATE -fsanitize=fuzzer-no-link)
12  set_target_properties(
13      stack_trace_compressor_fuzzer PROPERTIES LINK_FLAGS -fsanitize=fuzzer)
14  target_include_directories(
15      stack_trace_compressor_fuzzer PRIVATE ../../lib/)
16
17  add_executable(options_parser_fuzzer
18      ../../lib/gwp_asan/optional/options_parser.cpp
19      ../../lib/gwp_asan/optional/options_parser.h
20      options_parser_fuzzer.cpp)
21  set_target_properties(
22      options_parser_fuzzer PROPERTIES FOLDER "Fuzzers")
23  target_compile_options(
24      options_parser_fuzzer PRIVATE -fsanitize=fuzzer-no-link)
25  set_target_properties(
26      options_parser_fuzzer PROPERTIES LINK_FLAGS -fsanitize=fuzzer)
27  target_include_directories(
28      options_parser_fuzzer PRIVATE ../../lib/)
29
30  if (TARGET gwp_asan)
31    add_dependencies(gwp_asan stack_trace_compressor_fuzzer options_parser_fuzzer)
32  endif()
33endif()
34