about summary refs log tree commit diff
path: root/test/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'test/CMakeLists.txt')
-rw-r--r--test/CMakeLists.txt22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644
index 000000000000..faa61bbe6d9f
--- /dev/null
+++ b/test/CMakeLists.txt
@@ -0,0 +1,22 @@
+
+#  Targets
+#  =======
+
+add_custom_target(tests
+  COMMENT "Build all the unit tests.")
+add_dependencies(check tests)
+
+include(CTest)
+
+file(GLOB_RECURSE immer_unit_tests "*.cpp")
+foreach(_file IN LISTS immer_unit_tests)
+  immer_target_name_for(_target _output "${_file}")
+  add_executable(${_target} EXCLUDE_FROM_ALL "${_file}")
+  set_target_properties(${_target} PROPERTIES OUTPUT_NAME ${_output})
+  add_dependencies(tests ${_target})
+  target_compile_definitions(${_target} PUBLIC
+    DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+    CATCH_CONFIG_MAIN)
+  target_link_libraries(${_target} PUBLIC immer-dev)
+  add_test("test/${_output}" ${_output})
+endforeach()