diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-07-09 14:33:58 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-07-09 14:33:58 +0200 |
| commit | 878af4b049e0236daa02d075e693c9c630d89aca (patch) | |
| tree | 545b972855406264c5afac23bce8d6ce240e3f74 /cmake/Modules | |
| parent | 0c2d88cd36876df5eeb4ada2f9d339ce45b575be (diff) | |
| download | kernel-878af4b049e0236daa02d075e693c9c630d89aca.tar.xz kernel-878af4b049e0236daa02d075e693c9c630d89aca.zip | |
cmake: extract test target creation
Diffstat (limited to 'cmake/Modules')
| -rw-r--r-- | cmake/Modules/BuildHostTests.cmake | 35 |
1 files changed, 35 insertions, 0 deletions
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 |
