diff options
Diffstat (limited to 'gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake')
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake b/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake index 186e2d5333..9500fa0a4a 100644 --- a/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake +++ b/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake @@ -46,7 +46,7 @@ function(GR_ADD_TEST test_name) get_target_property(location ${target} LOCATION) if(location) get_filename_component(path ${location} PATH) - string(REGEX REPLACE "\\$\\(.*\\)" ${CMAKE_BUILD_TYPE} path ${path}) + string(REGEX REPLACE "\\$\\(.*\\)" "${CMAKE_BUILD_TYPE}" path "${path}") list(APPEND GR_TEST_LIBRARY_DIRS ${path}) endif(location) endforeach(target) @@ -113,7 +113,6 @@ function(GR_ADD_TEST test_name) execute_process(COMMAND chmod +x ${sh_file}) add_test(${test_name} ${SHELL} ${sh_file}) - endif(UNIX) if(WIN32) @@ -142,3 +141,26 @@ function(GR_ADD_TEST test_name) endif(WIN32) endfunction(GR_ADD_TEST) + +######################################################################## +# Add a C++ unit test and setup the environment for a unit test. +# Takes the same arguments as the ADD_TEST function. +# +# test_name -- An identifier for your test, for usage with ctest -R +# test_source -- Path to the .cc file +# +# Before calling set the following variables: +# GR_TEST_TARGET_DEPS - built targets for the library path +######################################################################## +function(GR_ADD_CPP_TEST test_name test_source) + add_executable(${test_name} ${test_source}) + target_link_libraries( + ${test_name} + ${GR_TEST_TARGET_DEPS} + ) + set_target_properties(${test_name} + PROPERTIES COMPILE_DEFINITIONS "BOOST_TEST_DYN_LINK;BOOST_TEST_MAIN" + ) + GR_ADD_TEST(${test_name} ${test_name}) +endfunction(GR_ADD_CPP_TEST) + |