message (STATUS "Adding the black box tests: ${GA_CURRENT_DIR_NAME}") file (GLOB GA_TEST_SHELL_SCRIPTS *.sh) foreach (GA_TEST_SCRIPT ${GA_TEST_SHELL_SCRIPTS}) get_filename_component(SCRIPT_NAME ${GA_TEST_SCRIPT} NAME_WE) configure_file (${GA_TEST_SCRIPT} ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME}.sh @ONLY) add_test(${SCRIPT_NAME}_sh_${TEST_TYPE} /bin/bash ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME}.sh) endforeach (GA_TEST_SCRIPT) file (GLOB GA_TEST_PERL_SCRIPTS *.pl) foreach (GA_TEST_SCRIPT ${GA_TEST_PERL_SCRIPTS}) get_filename_component(SCRIPT_NAME ${GA_TEST_SCRIPT} NAME_WE) get_filename_component(SCRIPT_NAME_PL ${GA_TEST_SCRIPT} NAME) message (STATUS "Adding the black box test - ${GA_TEST_SCRIPT} in ${SCRIPT_NAME_PL}") add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME_PL} COMMAND sed "'s|^my $$GA_DATA_DIR *= *.*$$|my $$GA_DATA_DIR = \"${GA_DATA_DIR}\";|'" ${GA_TEST_SCRIPT} | sed "'s|^my $$GA_BIN_DIR *= *.*$$|my $$GA_BIN_DIR = \"${GA_BIN_DIR}\";|'" | sed "'s|^use lib \"$$FindBin::Bin/.*$$|use lib \"${GA_BUILD_PERL_LIB_DIR}\";|'" > ${SCRIPT_NAME_PL} DEPENDS ${GA_TEST_SCRIPT} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Building ${SCRIPT_NAME_PL}: ${TMP}") add_test(${SCRIPT_NAME}_${TEST_TYPE} /usr/bin/perl ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME_PL}) endforeach (GA_TEST_SCRIPT) string(REPLACE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ALL_PERL_PROGRAMS "${GA_TEST_PERL_SCRIPTS}") string(REPLACE ${CMAKE_SOURCE_DIR} "" PERL_TARGET ${CMAKE_CURRENT_SOURCE_DIR}) string(REGEX REPLACE ^[/\\] "" PERL_TARGET ${PERL_TARGET}) string(REGEX REPLACE [/\\] "_" PERL_TARGET ${PERL_TARGET}) #message (STATUS "Adding custom target ${PERL_TARGET} depending on ${ALL_PERL_PROGRAMS}") add_custom_target(${PERL_TARGET} ALL DEPENDS ${ALL_PERL_PROGRAMS}) file (GLOB GA_TEST_PYTHON_SCRIPTS *.py) foreach (GA_TEST_SCRIPT ${GA_TEST_PYTHON_SCRIPTS}) get_filename_component(SCRIPT_NAME ${GA_TEST_SCRIPT} NAME_WE) configure_file (${GA_TEST_SCRIPT} ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME}.py @ONLY) add_test(${SCRIPT_NAME}_py_${TEST_TYPE} /usr/bin/python -T ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME}.py) endforeach (GA_TEST_SCRIPT)