summaryrefslogtreecommitdiffstats
path: root/cmake/ctest.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/ctest.cmake')
-rw-r--r--cmake/ctest.cmake24
1 files changed, 24 insertions, 0 deletions
diff --git a/cmake/ctest.cmake b/cmake/ctest.cmake
new file mode 100644
index 00000000..5bc1ce5f
--- /dev/null
+++ b/cmake/ctest.cmake
@@ -0,0 +1,24 @@
+
+INCLUDE(CMakeParseArguments)
+
+MACRO(MY_ADD_TEST name)
+ ADD_TEST(${name} ${name}-t)
+ENDMACRO()
+
+MACRO(MY_ADD_TESTS)
+ CMAKE_PARSE_ARGUMENTS(ARG "" "EXT" "LINK_LIBRARIES" ${ARGN})
+
+ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
+ ${CMAKE_SOURCE_DIR}/unittest/mytap)
+
+ IF (NOT ARG_EXT)
+ SET(ARG_EXT "c")
+ ENDIF()
+
+ FOREACH(name ${ARG_UNPARSED_ARGUMENTS})
+ ADD_EXECUTABLE(${name}-t "${name}-t.${ARG_EXT}")
+ TARGET_LINK_LIBRARIES(${name}-t mytap ${ARG_LINK_LIBRARIES})
+ MY_ADD_TEST(${name})
+ ENDFOREACH()
+ENDMACRO()
+