7 # Inspired from http://stackoverflow.com/questions/3305545/how-to-adapt-my-unit-tests-to-cmake-and-ctest
8 # and http://www.cmake.org/pipermail/cmake/2009-July/030619.html
11 set(CAMITK_TEST_COMMAND_FILE ${CAMITK_TEST_OUTPUT_DIR}/command) # which command is run to test the exectable
12 set(CAMITK_TEST_COMMAND_RESULT_FILE ${CAMITK_TEST_OUTPUT_DIR}/command-result) # the exit result (0=success, 1=failure) of the tested command goes in this
file
13 set(CAMITK_TEST_COMMAND_OUTPUT_FILE ${CAMITK_TEST_OUTPUT_DIR}/command-output) # the output of the tested command goes in
this files
14 set(CAMITK_TEST_PASS_FILE_COMMAND_FILE ${CAMITK_TEST_OUTPUT_DIR}/test) # which command is run to diff the files
15 set(CAMITK_TEST_PASS_FILE_OUTPUT_FILE ${CAMITK_TEST_OUTPUT_DIR}/test-output) # output of the diff cmake command
16 set(CAMITK_TEST_PASS_FILE_RESULT_FILE ${CAMITK_TEST_OUTPUT_DIR}/test-result) # exit result (0=success, 1=failure)
19 execute_process(COMMAND ${CMAKE_COMMAND} -E
remove -f ${CAMITK_TEST_COMMAND_FILE} ${CAMITK_TEST_COMMAND_RESULT_FILE} ${CAMITK_TEST_COMMAND_OUTPUT_FILE} ${CAMITK_TEST_PASS_FILE_COMMAND_FILE} ${CAMITK_TEST_PASS_FILE_OUTPUT_FILE} ${CAMITK_TEST_PASS_FILE_RESULT_FILE})
20 # First run the executable
21 file(WRITE ${CAMITK_TEST_COMMAND_FILE}
"${CAMITK_TEST_COMMAND} ${CAMITK_TEST_COMMAND_ARG}")
23 # expands all arguments
24 string(REPLACE
" " "" CAMITK_TEST_COMMAND_ARG_LIST ${CAMITK_TEST_COMMAND_ARG})
27 COMMAND ${CAMITK_TEST_COMMAND} ${CAMITK_TEST_COMMAND_ARG_LIST}
28 RESULT_VARIABLE CAMITK_TEST_COMMAND_RESULT
29 OUTPUT_VARIABLE CAMITK_TEST_COMMAND_OUTPUT
32 file(WRITE ${CAMITK_TEST_COMMAND_RESULT_FILE} ${CAMITK_TEST_COMMAND_RESULT})
33 file(WRITE ${CAMITK_TEST_COMMAND_OUTPUT_FILE} ${CAMITK_TEST_COMMAND_OUTPUT})
36 file(WRITE ${CAMITK_TEST_PASS_FILE_COMMAND_FILE}
"${CMAKE_COMMAND} -E compare_files ${CAMITK_TEST_PASS_FILE} ${CAMITK_TEST_COMMAND_OUTPUT_FILE}")
38 COMMAND ${CMAKE_COMMAND} -E compare_files ${CAMITK_TEST_PASS_FILE} ${CAMITK_TEST_COMMAND_OUTPUT_FILE}
39 RESULT_VARIABLE CAMITK_TEST_PASS_FILE_RESULT
40 OUTPUT_VARIABLE CAMITK_TEST_PASS_FILE_OUTPUT
44 file(WRITE ${CAMITK_TEST_PASS_FILE_OUTPUT_FILE} ${CAMITK_TEST_PASS_FILE_OUTPUT})
45 file(WRITE ${CAMITK_TEST_PASS_FILE_RESULT_FILE} ${CAMITK_TEST_PASS_FILE_RESULT})
48 if( CAMITK_TEST_PASS_FILE_RESULT )
49 message(SEND_ERROR "${CAMITK_TEST_NAME}: ${CAMITK_TEST_COMMAND_OUTPUT_FILE} does not match ${CAMITK_TEST_PASS_FILE}
" )
test result execute_process(COMMAND ${CMAKE_COMMAND}-E remove-f ${CAMITK_TEST_COMMAND_FILE}${CAMITK_TEST_COMMAND_RESULT_FILE}${CAMITK_TEST_COMMAND_OUTPUT_FILE}${CAMITK_TEST_PASS_FILE_COMMAND_FILE}${CAMITK_TEST_PASS_FILE_OUTPUT_FILE}${CAMITK_TEST_PASS_FILE_RESULT_FILE}) file(WRITE $
Definition: CamiTKTestPassFile.h:19
CamiTK CamiTKDir txt file(STRINGS"${FIND_CAMITK_USER_BASE_DIR}/CamiTK/CamiTKDir.txt"FIND_CAMITK_USER_DIR_LAST_INSTALL) endif() find_program(CAMITK_CONFIG_EXECUTABLE NAMES camitk-config-debug camitk-config PATH_SUFFIXES"bin"PATHS"$
Definition: FindCamiTK.cmake:80
set(CAMITK_TEST_COMMAND_FILE ${CAMITK_TEST_OUTPUT_DIR}/command) set(CAMITK_TEST_COMMAND_RESULT_FILE $
This CMake file run a command and put the output in a given file.
Definition: CamiTKTestPassFile.h:11
message(STATUS"Looking for CamiTK ${CamiTK_FIND_VERSION}") set(CAMITK_FOUND FALSE) set(CAMITK_USE_FILE"CamiTKConfig.cmake") set(CAMITK_DIR_DESCRIPTION"directory containing a build tree or install tree of CamiTK.\n It must have the camitk-config binary in its 'bin' subdirectory.") if(WIN32) set(FIND_CAMITK_USER_BASE_DIR $ENV
Definition: FindCamiTK.cmake:54