summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/TDEMacros.cmake18
1 files changed, 18 insertions, 0 deletions
diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake
index e3d1641..481ae7d 100644
--- a/modules/TDEMacros.cmake
+++ b/modules/TDEMacros.cmake
@@ -1075,6 +1075,7 @@ macro( tde_add_check_executable _arg_target )
unset( _target )
unset( _automoc )
+ unset( _test )
unset( _meta_includes )
unset( _sources )
unset( _destination )
@@ -1094,6 +1095,12 @@ macro( tde_add_check_executable _arg_target )
set( _automoc 1 )
endif( "+${_arg}" STREQUAL "+AUTOMOC" )
+ # found directive "TEST"
+ if( "+${_arg}" STREQUAL "+TEST" )
+ set( _skip_store 1 )
+ set( _test 1 )
+ endif( "+${_arg}" STREQUAL "+TEST" )
+
# found directive "META_INCLUDES"
if( "+${_arg}" STREQUAL "+META_INCLUDES" )
set( _skip_store 1 )
@@ -1164,6 +1171,17 @@ macro( tde_add_check_executable _arg_target )
add_dependencies( check ${_target} )
+ # add test target
+ if( _test )
+ # get relative path to current directory and strip end tests dir
+ file( RELATIVE_PATH _test_prefix ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} )
+ string( REGEX REPLACE "(^\\.+/?|(^|/)tests?$|/$)" "" _test_prefix "${_test_prefix}" )
+ if( _test_prefix )
+ set( _test_prefix "${_test_prefix}/" )
+ endif( _test_prefix )
+ add_test( NAME "${_test_prefix}${_target}" COMMAND "${_target}" )
+ endif( _test )
+
endmacro( tde_add_check_executable )