include(isolate_headers) function(xrpl_add_test name) set(target ${PROJECT_NAME}.test.${name}) file( GLOB_RECURSE sources CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${name}/*.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/${name}.cpp" ) add_executable(${target} ${ARGN} ${sources}) isolate_headers( ${target} "${CMAKE_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/tests/${name}" PRIVATE ) add_test(NAME ${target} COMMAND ${target}) endfunction()