146be5faaSChelsea Cassanovaset(LLVM_LINK_COMPONENTS 246be5faaSChelsea Cassanova Support 346be5faaSChelsea Cassanova ) 446be5faaSChelsea Cassanova 546be5faaSChelsea Cassanovaadd_llvm_fuzzer(lldb-commandinterpreter-fuzzer 646be5faaSChelsea Cassanova EXCLUDE_FROM_ALL 746be5faaSChelsea Cassanova lldb-commandinterpreter-fuzzer.cpp 846be5faaSChelsea Cassanova ) 946be5faaSChelsea Cassanova 1046be5faaSChelsea Cassanovaif(TARGET lldb-commandinterpreter-fuzzer) 1146be5faaSChelsea Cassanova target_include_directories(lldb-commandinterpreter-fuzzer PRIVATE ..) 1246be5faaSChelsea Cassanova target_link_libraries(lldb-commandinterpreter-fuzzer 1346be5faaSChelsea Cassanova PRIVATE 1446be5faaSChelsea Cassanova liblldb 1546be5faaSChelsea Cassanova ) 1646be5faaSChelsea Cassanova 1740aace59SChelsea Cassanova # A directory in the build directory is created to hold the fuzzer's 1840aace59SChelsea Cassanova # artifacts as a pre-build command for the command interpreter's executable 1940aace59SChelsea Cassanova # target. When the fuzzer exits the input artifact that caused it to exit 2040aace59SChelsea Cassanova # will be written to this directory. 2140aace59SChelsea Cassanova 2240aace59SChelsea Cassanova add_custom_command(TARGET lldb-commandinterpreter-fuzzer PRE_BUILD 2340aace59SChelsea Cassanova COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/fuzzer-artifacts/commandinterpreter-artifacts 2440aace59SChelsea Cassanova ) 2540aace59SChelsea Cassanova 2646be5faaSChelsea Cassanova add_custom_target(fuzz-lldb-commandinterpreter 2746be5faaSChelsea Cassanova COMMENT "Running the LLDB command interpreter fuzzer..." 2840aace59SChelsea Cassanova WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/fuzzer-artifacts/commandinterpreter-artifacts 2940aace59SChelsea Cassanova COMMAND $<TARGET_FILE:lldb-commandinterpreter-fuzzer> -dict=${CMAKE_CURRENT_SOURCE_DIR}/inputdictionary.txt -only_ascii=1 -artifact_prefix=commandinterpreter- 3046be5faaSChelsea Cassanova USES_TERMINAL 3146be5faaSChelsea Cassanova ) 32*c3efb576SMichael Kruse set_target_properties(fuzz-lldb-commandinterpreter PROPERTIES FOLDER "LLDB/Fuzzer") 3346be5faaSChelsea Cassanovaendif() 34