set(LLVM_LINK_COMPONENTS Support ) add_llvm_fuzzer(lldb-commandinterpreter-fuzzer EXCLUDE_FROM_ALL lldb-commandinterpreter-fuzzer.cpp ) if(TARGET lldb-commandinterpreter-fuzzer) target_include_directories(lldb-commandinterpreter-fuzzer PRIVATE ..) target_link_libraries(lldb-commandinterpreter-fuzzer PRIVATE liblldb ) # A directory in the build directory is created to hold the fuzzer's # artifacts as a pre-build command for the command interpreter's executable # target. When the fuzzer exits the input artifact that caused it to exit # will be written to this directory. add_custom_command(TARGET lldb-commandinterpreter-fuzzer PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/fuzzer-artifacts/commandinterpreter-artifacts ) add_custom_target(fuzz-lldb-commandinterpreter COMMENT "Running the LLDB command interpreter fuzzer..." WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/fuzzer-artifacts/commandinterpreter-artifacts COMMAND $ -dict=${CMAKE_CURRENT_SOURCE_DIR}/inputdictionary.txt -only_ascii=1 -artifact_prefix=commandinterpreter- USES_TERMINAL ) endif()