summaryrefslogtreecommitdiffstats
path: root/cmake/modules/AddTest.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/AddTest.cmake')
-rw-r--r--cmake/modules/AddTest.cmake31
1 files changed, 31 insertions, 0 deletions
diff --git a/cmake/modules/AddTest.cmake b/cmake/modules/AddTest.cmake
new file mode 100644
index 0000000..10da459
--- /dev/null
+++ b/cmake/modules/AddTest.cmake
@@ -0,0 +1,31 @@
+enable_testing()
+include(CTest)
+
+function (ADD_RTR_TEST _testName _testSource)
+ add_executable(${_testName} ${_testSource})
+ target_link_libraries(${_testName} ${ARGN})
+ add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName})
+endfunction (ADD_RTR_TEST)
+
+
+function (ADD_RTR_UNIT_TEST _testName _testSource)
+ add_rtr_test(${_testName} ${_testSource} ${ARGN})
+ add_coverage(${_testName})
+endfunction (ADD_RTR_UNIT_TEST)
+
+
+function (WRAP_FUNCTIONS _testName)
+ set(template " -Wl,--wrap=")
+ set(linkopts "")
+ foreach(f ${ARGN})
+ string(CONCAT linkopts ${linkopts} ${template} ${f})
+ endforeach()
+
+ get_target_property(temp ${_testName} COMPILE_FLAGS)
+ if (temp)
+ string(CONCAT linkopts ${temp} ${linkopts})
+ endif()
+ set_target_properties(${_testName}
+ PROPERTIES
+ LINK_FLAGS ${linkopts})
+endfunction (WRAP_FUNCTIONS)