| cmake_minimum_required (VERSION 2.6) |
| project(CommandLineTest) |
| |
| get_filename_component(CMAKE_BIN_DIR ${CMAKE_COMMAND} PATH) |
| macro(EXEC_CMAKE_COMMAND CMAKE_ARGS) |
| exec_program("${CMAKE_COMMAND}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET) |
| if(${RET}) |
| message(SEND_ERROR "CMake command failed with arguments \"${CMAKE_ARGS}\"") |
| endif() |
| endmacro() |
| |
| EXEC_CMAKE_COMMAND("-E chdir \"${CMAKE_CURRENT_SOURCE_DIR}\" \"${CMAKE_COMMAND}\" -E echo \"Hello World\"") |
| EXEC_CMAKE_COMMAND("-E time \"${CMAKE_COMMAND} -N -L ${CommandLineTest_SOURCE_DIR}\"") |
| EXEC_CMAKE_COMMAND("-E time \"${CMAKE_COMMAND} -N -LA ${CommandLineTest_SOURCE_DIR}\"") |
| EXEC_CMAKE_COMMAND("-E time \"${CMAKE_COMMAND} -N -LH ${CommandLineTest_SOURCE_DIR}\"") |
| EXEC_CMAKE_COMMAND("-E time \"${CMAKE_COMMAND} -N -LAH ${CommandLineTest_SOURCE_DIR}\"") |
| EXEC_CMAKE_COMMAND("--help") |
| EXEC_CMAKE_COMMAND("--help-command-list") |
| EXEC_CMAKE_COMMAND("--help add_executable") |
| EXEC_CMAKE_COMMAND("--help-command add_executable") |
| EXEC_CMAKE_COMMAND("--help-full \"${CMAKE_CURRENT_BINARY_DIR}/cmake.txt\"") |
| EXEC_CMAKE_COMMAND("--help-man \"${CMAKE_CURRENT_BINARY_DIR}/cmake.man\"") |
| EXEC_CMAKE_COMMAND("--help-html \"${CMAKE_CURRENT_BINARY_DIR}/cmake.html\"") |
| EXEC_CMAKE_COMMAND("--copyright \"${CMAKE_CURRENT_BINARY_DIR}/Copyright.txt\"") |
| EXEC_CMAKE_COMMAND("--version \"${CMAKE_CURRENT_BINARY_DIR}/version.txt\"") |
| |
| add_executable(CommandLineTest CommandLineTest.cxx) |
| |
| get_filename_component(CMAKE_COMMAND_PATH "${CMAKE_COMMAND}" PATH) |
| set(CTEST_COMMAND "${CMAKE_COMMAND_PATH}/ctest") |
| macro(EXEC_CTEST_COMMAND CMAKE_ARGS) |
| exec_program("${CTEST_COMMAND}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET) |
| if(${RET}) |
| message(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"") |
| endif() |
| endmacro() |
| macro(EXEC_CTEST_COMMAND_WITH_DIR DIR CMAKE_ARGS) |
| exec_program("${CTEST_COMMAND}" "${DIR}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET) |
| if(${RET}) |
| message(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"") |
| endif() |
| endmacro() |
| |
| EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-N") |
| EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-R complex -N") |
| EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-E Simple -N") |
| EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-E Simple -N") |
| EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-N -I -10") |
| EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-N -I 10-") |
| EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-N -I 3,4") |
| EXEC_CTEST_COMMAND("--help") |
| EXEC_CTEST_COMMAND("--copyright") |
| EXEC_CTEST_COMMAND("--help-full \"${CMAKE_CURRENT_BINARY_DIR}/ctest.txt\"") |
| EXEC_CTEST_COMMAND("--help-man \"${CMAKE_CURRENT_BINARY_DIR}/ctest.man\"") |
| EXEC_CTEST_COMMAND("--help-html \"${CMAKE_CURRENT_BINARY_DIR}/ctest.html\"") |
| EXEC_CTEST_COMMAND("--version") |
| |
| if(THIS_SHOULD_BE_SET) |
| message(STATUS "***************************") |
| message(STATUS "PreLoad.cmake works fine.") |
| message(STATUS "***************************") |
| else() |
| message("***************************") |
| message(FATAL_ERROR "PreLoad.cmake does not work.") |
| endif() |
| |
| if(DEFINED ENV{TEST_ENVIRONMENT_VARIABLE_NOTSET}) |
| message(SEND_ERROR "Environment variable definition test broken!") |
| endif() |
| |
| set(ENV{TEST_ENVIRONMENT_VARIABLE} "Environment variable set") |
| if("$ENV{TEST_ENVIRONMENT_VARIABLE}" STREQUAL "Environment variable set") |
| message(STATUS "Environment variable set to: $ENV{TEST_ENVIRONMENT_VARIABLE}") |
| if(NOT DEFINED ENV{TEST_ENVIRONMENT_VARIABLE}) |
| message(SEND_ERROR "Environment variable definition test failed!") |
| endif() |
| else() |
| message(SEND_ERROR "Environment variable setting is broken") |
| endif() |