diff --git a/Installation/cmake/modules/CGAL_add_test.cmake b/Installation/cmake/modules/CGAL_add_test.cmake index d8694e478e5..ac81fa2e2d6 100644 --- a/Installation/cmake/modules/CGAL_add_test.cmake +++ b/Installation/cmake/modules/CGAL_add_test.cmake @@ -194,19 +194,17 @@ function(cgal_setup_test_properties test_name) if(ANDROID) add_test(NAME "push_of__${exe_name}" COMMAND ${adb_executable} push $ ${ANDROID_DIR_PREFIX}${PROJECT_NAME}/${exe_name}) - set_property(TEST "push_of__${exe_name}" - APPEND PROPERTY FIXTURES_SETUP "${exe_name}") - set_property(TEST "push_of__${exe_name}" - APPEND PROPERTY DEPENDS "compilation_of__${exe_name}") elseif(SSH) add_test(NAME "push_of__${exe_name}" - COMMAND ${scp_executable} $ ${SSH_HOST}:${SSH_DIR_PREFIX}${PROJECT_NAME}/${exe_name}) - set_property(TEST "push_of__${exe_name}" - APPEND PROPERTY FIXTURES_SETUP "${exe_name}") - set_property(TEST "push_of__${exe_name}" - APPEND PROPERTY DEPENDS "compilation_of__${exe_name}") + COMMAND ${scp_executable} $ ${SSH_HOST}:${SSH_DIR_PREFIX}${PROJECT_NAME}/) endif() + set_property(TEST "push_of__${exe_name}" + APPEND PROPERTY DEPENDS "compilation_of__${exe_name}") endif() + set_property(TEST "push_of__${exe_name}" + APPEND PROPERTY FIXTURES_SETUP "${exe_name}") + set_property(TEST "push_of__${exe_name}" + APPEND PROPERTY FIXTURES_REQUIRED "${PROJECT_NAME}") endif() endif() # end CMake 3.7 or later endfunction(cgal_setup_test_properties) @@ -232,11 +230,18 @@ function(cgal_add_test exe_name) # message("Add test ${test_name}") set(cin_file "${CMAKE_CURRENT_SOURCE_DIR}/${exe_name}.cin") if(NOT ARGS AND EXISTS ${cin_file}) + if(ANDROID OR SSH) + set(cmd ${exe_name}) + else() + set(cmd $) + endif() add_test(NAME ${test_name} COMMAND ${TIME_COMMAND} ${CMAKE_COMMAND} - -DCMD:STRING=$ + -DCMD:STRING=${cmd} -DCIN:STRING=${cin_file} -DANDROID_DIR_PREFIX=${ANDROID_DIR_PREFIX} + -DSSH=${SSH} + -DSSH_HOST=${SSH_HOST} -DSSH_DIR_PREFIX=${SSH_DIR_PREFIX} -DPROJECT_NAME=${PROJECT_NAME} -P "${CGAL_MODULES_DIR}/run_test_with_cin.cmake") diff --git a/Installation/cmake/modules/run_test_with_cin.cmake b/Installation/cmake/modules/run_test_with_cin.cmake index 1877beb096d..65615d61c51 100644 --- a/Installation/cmake/modules/run_test_with_cin.cmake +++ b/Installation/cmake/modules/run_test_with_cin.cmake @@ -1,4 +1,4 @@ -if(NOT CMD OR NOT EXISTS ${CMD}) +if(NOT CMD OR (NOT ANDROID AND NOT SSH AND NOT EXISTS ${CMD})) message(FATAL_ERROR "The variable `CMD` should be defined to the test program to run!") endif() @@ -10,7 +10,12 @@ endif() if(ANDROID) execute_process( - COMMAND adb shell "cd ${ANDROID_DIR_PREFIX}${PROJECT_NAME} && ${ANDROID_DIR_PREFIX}${CMD}" + COMMAND adb shell "cd ${ANDROID_DIR_PREFIX}${PROJECT_NAME} && ${ANDROID_DIR_PREFIX}${PROJECT_NAME}/${CMD}" + INPUT_FILE ${CIN} + RESULT_VARIABLE error_result) +elseif(SSH) + execute_process( + COMMAND ssh ${SSH_HOST} "cd ${SSH_DIR_PREFIX}${PROJECT_NAME} && LD_LIBRARY_PATH=${SSH_DIR_PREFIX}/lib ${SSH_DIR_PREFIX}${PROJECT_NAME}/${CMD}" INPUT_FILE ${CIN} RESULT_VARIABLE error_result) else()