forked from boostorg/beast
committed by
Mohammad Nejati
parent
a21250d12d
commit
75e45287fb
@@ -36,7 +36,6 @@ add_custom_target(
|
||||
WORKING_DIRECTORY ${BOOST_BEAST_FUZZER_SEEDS_PARENT_DIR}
|
||||
COMMENT "Unzipping fuzz seeds"
|
||||
VERBATIM)
|
||||
|
||||
set(BOOST_BEAST_FUZZER_CORPUS_DIR ${CMAKE_CURRENT_BINARY_DIR}/corpus)
|
||||
set(BOOST_BEAST_FUZZER_MERGED_CORPUS_DIR ${CMAKE_CURRENT_BINARY_DIR}/merged-corpus)
|
||||
if(EXISTS ${BOOST_BEAST_FUZZER_CORPUS_PATH})
|
||||
@@ -54,6 +53,7 @@ else()
|
||||
COMMENT "Creating fuzz corpus directory"
|
||||
VERBATIM)
|
||||
endif()
|
||||
set_target_properties(untar_corpus untar_seeds PROPERTIES FOLDER "fuzzing")
|
||||
add_dependencies(untar_corpus untar_seeds)
|
||||
|
||||
# Target that runs all fuzz targets
|
||||
@@ -64,6 +64,7 @@ add_custom_target(
|
||||
COMMAND ${CMAKE_COMMAND} -E tar cf ${BOOST_BEAST_FUZZER_CORPUS_PATH} ${BOOST_BEAST_FUZZER_CORPUS_DIR}
|
||||
WORKING_DIRECTORY ${BOOST_BEAST_FUZZER_CORPUS_PARENT_DIR}
|
||||
VERBATIM)
|
||||
set_target_properties(boost_beast_fuzz_all PROPERTIES FOLDER "fuzzing")
|
||||
|
||||
# Register a single fuzzer and add as dependency to fuzz target
|
||||
function(add_boost_beast_fuzzer NAME)
|
||||
@@ -73,7 +74,7 @@ function(add_boost_beast_fuzzer NAME)
|
||||
target_link_libraries(fuzzer_${NAME} PRIVATE lib-beast)
|
||||
target_compile_options(fuzzer_${NAME} PRIVATE -g -O2 -fsanitize=fuzzer,address,undefined -fno-sanitize-recover=undefined)
|
||||
target_link_libraries(fuzzer_${NAME} PRIVATE -fsanitize=fuzzer,address,undefined)
|
||||
set_property(TARGET fuzzer_${NAME} PROPERTY FOLDER "fuzzing")
|
||||
set_target_properties(fuzzer_${NAME} PROPERTIES FOLDER "fuzzing")
|
||||
|
||||
# Custom target to run fuzzer executable
|
||||
add_custom_target(
|
||||
@@ -106,7 +107,8 @@ function(add_boost_beast_fuzzer NAME)
|
||||
DEPENDS untar_corpus fuzzer_${NAME})
|
||||
add_dependencies(fuzz_${NAME} fuzzer_${NAME})
|
||||
add_dependencies(boost_beast_fuzz_all fuzz_${NAME})
|
||||
set_property(TARGET fuzz_${NAME} PROPERTY ENVIRONMENT "UBSAN_OPTIONS=halt_on_error=false")
|
||||
set_target_properties(fuzz_${NAME} PROPERTIES FOLDER "UBSAN_OPTIONS=halt_on_error=false")
|
||||
set_target_properties(fuzz_${NAME} PROPERTIES FOLDER "fuzzing")
|
||||
endfunction()
|
||||
|
||||
# Register all fuzzers
|
||||
|
||||
Reference in New Issue
Block a user