FreeRDP/cmake/AddFuzzerTest.cmake

16 lines
774 B
CMake

macro(add_fuzzer_test FILES LINK_LIBS)
if (BUILD_FUZZERS)
string(REPLACE " " ";" LOCAL_LINK_LIBS ${LINK_LIBS})
list(APPEND LOCAL_LINK_LIBS fuzzer_config)
foreach(test ${FILES})
get_filename_component(TestName ${test} NAME_WE)
add_executable(${TestName} ${test})
# Use PUBLIC to force 'fuzzer_config' for all dependent targets.
target_link_libraries(${TestName} PUBLIC ${LOCAL_LINK_LIBS})
add_test(${TestName} ${TESTING_OUTPUT_DIRECTORY}/${MODULE_NAME} ${TestName})
set_target_properties(${TestName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
add_dependencies(fuzzers ${TestName})
endforeach()
endif (BUILD_FUZZERS)
endmacro()