include_guard(GLOBAL) function("teachos_add_tests" NAME) add_executable("${NAME}_tests") add_executable("${NAME}::tests" ALIAS "${NAME}_tests") file(GLOB_RECURSE TEST_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CONFIGURE_DEPENDS "*.stress.cpp" "*.tests.cpp" ) target_sources("${NAME}_tests" PRIVATE ${TEST_SOURCES} ) target_link_libraries("${NAME}_tests" PRIVATE "Catch2::Catch2WithMain" "${NAME}::lib" ) set_target_properties("${NAME}_tests" PROPERTIES EXCLUDE_FROM_ALL NO ) file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bht_results") catch_discover_tests("${NAME}::tests" REPORTER junit OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/bht_results" OUTPUT_SUFFIX ".xml" ) endfunction()