xref: /llvm-project/lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt (revision c3efb57655001896fac955f4d42657db42c836b0)
1set(LLVM_LINK_COMPONENTS
2  Support
3  )
4
5add_llvm_fuzzer(lldb-target-fuzzer
6  EXCLUDE_FROM_ALL
7  lldb-target-fuzzer.cpp
8  )
9
10if(TARGET lldb-target-fuzzer)
11  target_include_directories(lldb-target-fuzzer PRIVATE ..)
12  target_link_libraries(lldb-target-fuzzer
13    PRIVATE
14    liblldb
15    lldbFuzzerUtils
16    )
17
18  add_custom_command(TARGET lldb-target-fuzzer PRE_BUILD
19    COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/fuzzer-artifacts/target-artifacts
20    )
21
22  add_custom_target(fuzz-lldb-target
23    COMMENT "Running the LLDB target fuzzer..."
24    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/fuzzer-artifacts/target-artifacts
25    COMMAND $<TARGET_FILE:lldb-target-fuzzer> -artifact_prefix=target-
26    USES_TERMINAL
27    )
28  set_target_properties(fuzz-lldb-target PROPERTIES FOLDER "LLDB/Fuzzer")
29endif()
30