mirror of
https://github.com/reactos/CMake.git
synced 2024-12-11 13:24:58 +00:00
9db3116226
Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
80 lines
3.6 KiB
CMake
80 lines
3.6 KiB
CMake
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()
|