33 lines
1.2 KiB
Text
33 lines
1.2 KiB
Text
|
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 $<TARGET_FILE:lldb-commandinterpreter-fuzzer> -dict=${CMAKE_CURRENT_SOURCE_DIR}/inputdictionary.txt -only_ascii=1 -artifact_prefix=commandinterpreter-
|
||
|
USES_TERMINAL
|
||
|
)
|
||
|
endif()
|