Refactor CMakeLists

Closes #2471
Closes #1816
This commit is contained in:
Mohammad Nejati
2024-11-25 11:41:40 +03:30
committed by Mohammad Nejati
parent a21250d12d
commit 75e45287fb
82 changed files with 916 additions and 1359 deletions
+5 -3
View File
@@ -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