aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/FindKDE4Internal.cmake15
-rw-r--r--modules/KDE4Macros.cmake22
2 files changed, 35 insertions, 2 deletions
diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake
index bfcd1f07..1857f0cc 100644
--- a/modules/FindKDE4Internal.cmake
+++ b/modules/FindKDE4Internal.cmake
@@ -178,6 +178,21 @@
# Equivalent to ADD_LIBRARY(), but additionally it supports KDE4_ENABLE_FINAL
# and under Windows it adds a -DMAKE_<name>_LIB definition to the compilation.
#
+# KDE4_ADD_UNIT_TEST (testname [TESTNAME targetname] file1 ... fileN)
+# add a unit test, which is executed when running make test
+# it will be built with RPATH poiting to the build dir
+# The targets are always created, but only built for the "all"
+# target if the option KDE4_BUILD_TESTS is enabled. Otherwise the rules for the target
+# are created but not built by default. You can build them by manually building the target.
+# The name of the target can be specified using TESTNAME <targetname>, if it is not given
+# the macro will default to the <testname>
+#
+# KDE4_ADD_TEST_EXECUTABLE (name file1 ... fileN)
+# add an test executable
+# it will be built with RPATH poiting to the build dir
+# The targets are always created, but only built for the "all"
+# target if the option KDE4_BUILD_TESTS is enabled. Otherwise the rules for the target
+# are created but not built by default. You can build them by manually building the target.
# KDE4_INSTALL_ICONS( path theme)
# Installs all png and svgz files in the current directory to the icon
# directoy given in path, in the subdirectory for the given icon theme.
diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake
index 0988291b..9e5494a6 100644
--- a/modules/KDE4Macros.cmake
+++ b/modules/KDE4Macros.cmake
@@ -742,13 +742,31 @@ macro (KDE4_ADD_KDEINIT_EXECUTABLE _target_NAME )
endmacro (KDE4_ADD_KDEINIT_EXECUTABLE)
+# add a unit test, which is executed when running make test
+# it will be built with RPATH poiting to the build dir
+# The targets are always created, but only built for the "all"
+# target if the option KDE4_BUILD_TESTS is enabled. Otherwise the rules for the target
+# are created but not built by default. You can build them by manually building the target.
+# The name of the target can be specified using TESTNAME <testname>, if it is not given
+# the macro will default to the <name>
+macro (KDE4_ADD_UNIT_TEST _test_NAME)
+ set(_srcList ${ARGN})
+ set(_targetName ${_test_NAME})
+ if( ${ARGV1} STREQUAL "TESTNAME" )
+ set(_targetName ${ARGV2})
+ LIST(REMOVE_AT _srcList 0 1)
+ endif( ${ARGV1} STREQUAL "TESTNAME" )
+ kde4_add_test_executable( ${_test_NAME} ${_srcList} )
+ get_target_property(_target_OUTPUT_PATH ${_test_NAME} EXECUTABLE_OUTPUT_PATH)
+ add_test( ${_targetName} ${_target_OUTPUT_PATH}/${_test_NAME} )
+endmacro (KDE4_ADD_UNIT_TEST)
# add an test executable
# it will be built with RPATH poiting to the build dir
# The targets are always created, but only built for the "all"
# target if the option KDE4_BUILD_TESTS is enabled. Otherwise the rules for the target
# are created but not built by default. You can build them by manually building the target.
-macro (KDE4_ADD_TEST _target_NAME)
+macro (KDE4_ADD_TEST_EXECUTABLE _target_NAME)
set(_add_executable_param)
@@ -770,7 +788,7 @@ macro (KDE4_ADD_TEST _target_NAME)
target_link_libraries(${_target_NAME} ${QT_QTMAIN_LIBRARY})
endif (WIN32)
-endmacro (KDE4_ADD_TEST)
+endmacro (KDE4_ADD_TEST_EXECUTABLE)
macro (KDE4_ADD_EXECUTABLE _target_NAME)