#! Usage: #! \code #! SIMPLE_TEST_WITH_DATA( [argument1 ...]) #! \endcode #! #! This macro add a test using the complete add_test signature specifying target using #! $ generator expression. Optionnal test argument(s) can be passed #! after specifying the . #! #! parameter should corresponds to a subfolder located in /Baseline #! #! Variables named KIT and CTKData_DIR are expected to be defined in the current scope. #! #! KIT variable usually matches the value of PROJECT_NAME. #! #! The macro also associates a label to the test based on the current value of KIT. #! #! The following parameter will be passed to the test: #!
    #!
  • -D /Data
  • #!
  • -V /Baseline/
  • #!
  • -T /Testing/Temporary
  • #!
#! #! \sa http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:add_test #! \sa http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:PROJECT_NAME #! #! \ingroup CMakeUtilities macro(SIMPLE_TEST_WITH_DATA testname baseline_relative_location) if("${KIT}" STREQUAL "") message(FATAL_ERROR "error: KIT variable is not set !") endif() if(NOT TARGET ${KIT}CppTests) message(FATAL_ERROR "error: ${KIT}CppTests target does NOT exist !") endif() if(NOT EXISTS "${CTKData_DIR}/Data") message(FATAL_ERROR "error: /Data corresponds to an non-existing directory. [/Data: ${CTKData_DIR}/Data]") endif() if(NOT EXISTS "${CTKData_DIR}/Baseline/${baseline_relative_location}") message(FATAL_ERROR "error: /Baseline/ corresponds to an non-existing file or directory. [/Baseline/: ${CTKData_DIR}/Baseline/${baseline_relative_location}]") endif() add_test(NAME ${testname} COMMAND $ ${testname} -D "${CTKData_DIR}/Data" -V "${CTKData_DIR}/Baseline/${baseline_relative_location}" -T "${PROJECT_BINARY_DIR}/Testing/Temporary" ${ARGN} ) set_property(TEST ${testname} PROPERTY LABELS ${KIT}) endmacro()