From 878af4b049e0236daa02d075e693c9c630d89aca Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Thu, 9 Jul 2026 14:33:58 +0200 Subject: cmake: extract test target creation --- cmake/Modules/BuildHostTests.cmake | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 cmake/Modules/BuildHostTests.cmake (limited to 'cmake') diff --git a/cmake/Modules/BuildHostTests.cmake b/cmake/Modules/BuildHostTests.cmake new file mode 100644 index 00000000..aa3ae66d --- /dev/null +++ b/cmake/Modules/BuildHostTests.cmake @@ -0,0 +1,35 @@ +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 + "*.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() \ No newline at end of file -- cgit v1.2.3