diff --git a/src/test/fuzz/CMakeLists.txt b/src/test/fuzz/CMakeLists.txt --- a/src/test/fuzz/CMakeLists.txt +++ b/src/test/fuzz/CMakeLists.txt @@ -1,6 +1,13 @@ # Fuzzer test harness add_custom_target(bitcoin-fuzzers) +define_property(GLOBAL + PROPERTY FUZZ_TARGETS + BRIEF_DOCS "List of fuzz targets" + FULL_DOCS "A list of the fuzz targets" +) +set_property(GLOBAL APPEND PROPERTY FUZZ_TARGETS bitcoin-fuzzers) + macro(add_fuzz_target TARGET EXE_NAME) add_executable(${TARGET} EXCLUDE_FROM_ALL fuzz.cpp @@ -11,6 +18,8 @@ target_link_libraries(${TARGET} server testutil) add_dependencies(bitcoin-fuzzers ${TARGET}) + + set_property(GLOBAL APPEND PROPERTY FUZZ_TARGETS ${TARGET}) endmacro() function(add_regular_fuzz_targets) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -31,12 +31,20 @@ # Add a phony target to make sure the files are linked by default. sanitize_target_name("link-" "${file}" NAME) add_custom_target(${NAME} ALL DEPENDS "${dest}") + + foreach(PARENT_TARGET ${ARGN}) + if(TARGET ${PARENT_TARGET}) + add_dependencies(${PARENT_TARGET} ${NAME}) + endif() + endforeach() endfunction() make_link(functional/test_runner.py) make_link(util/bitcoin-util-test.py) make_link(util/rpcauth-test.py) -make_link(fuzz/test_runner.py) + +get_property(FUZZ_TARGETS GLOBAL PROPERTY FUZZ_TARGETS) +make_link(fuzz/test_runner.py ${FUZZ_TARGETS}) include(Coverage) include(TestSuite)