You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
3.5 KiB
80 lines
3.5 KiB
cmake_minimum_required (VERSION 2.6)
|
|
project(CommandLineTest)
|
|
|
|
get_filename_component(CMAKE_BIN_DIR ${CMAKE_COMMAND} PATH)
|
|
macro(EXEC_CMAKE_COMMAND)
|
|
execute_process(COMMAND "${CMAKE_COMMAND}" ${ARGN} RESULT_VARIABLE RET)
|
|
if(${RET})
|
|
message(SEND_ERROR "CMake command failed with arguments \"${ARGN}\"")
|
|
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)
|
|
execute_process(COMMAND "${CTEST_COMMAND}" ${ARGN} RESULT_VARIABLE RET)
|
|
if(${RET})
|
|
message(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"")
|
|
endif()
|
|
endmacro()
|
|
macro(EXEC_CTEST_COMMAND_WITH_DIR DIR)
|
|
execute_process(COMMAND "${CTEST_COMMAND}" ${ARGN} WORKING_DIRECTORY "${DIR}" RESULT_VARIABLE 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()
|