aboutsummaryrefslogtreecommitdiff
path: root/cmake/Modules/BuildHostTests.cmake
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-07-14 19:30:03 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-07-14 19:30:03 +0200
commitd6735726d9cc6e98142e94001250076592279d36 (patch)
tree95d308a027495790af57479cacb064badea334d0 /cmake/Modules/BuildHostTests.cmake
parentcdb8a0928ddfe626a1ac0acd1ae63bc8e5b77355 (diff)
parent9558074af8ceef4dc2c3b168a0263775f8a377e0 (diff)
downloadkernel-d6735726d9cc6e98142e94001250076592279d36.tar.xz
kernel-d6735726d9cc6e98142e94001250076592279d36.zip
Merge branch 'fmorgner/develop/kstd-system-error' into 'develop'
kstd: implement system_error infrastructure See merge request teachos/kernel!54
Diffstat (limited to 'cmake/Modules/BuildHostTests.cmake')
-rw-r--r--cmake/Modules/BuildHostTests.cmake35
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