1 set(CMAKE_EXECUTABLE "${CMake_BIN_DIR}/cmake")
4 macro(AddCMakeTest TestName PreArgs)
5 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${TestName}Test.cmake.in"
6 "${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" @ONLY IMMEDIATE)
7 add_test(NAME CMake.${TestName}
8 COMMAND ${CMAKE_EXECUTABLE} ${PreArgs}
9 -P "${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" ${ARGN})
14 AddCMakeTest(VariableWatch "")
15 AddCMakeTest(Include "")
16 AddCMakeTest(FindBase "")
17 AddCMakeTest(Toolchain "")
18 AddCMakeTest(GetFilenameComponentRealpath "")
19 AddCMakeTest(Version "")
20 AddCMakeTest(Message "")
22 AddCMakeTest(ConfigureFile "")
23 AddCMakeTest(SeparateArguments "")
24 AddCMakeTest(ImplicitLinkInfo "")
25 AddCMakeTest(ModuleNotices "")
26 AddCMakeTest(GetProperty "")
28 AddCMakeTest(String "")
30 AddCMakeTest(CMakeMinimumRequired "")
31 AddCMakeTest(CompilerIdVendor "")
32 AddCMakeTest(ProcessorCount "-DKWSYS_TEST_EXE=$<TARGET_FILE:cmsysTestsCxx>")
33 AddCMakeTest(PushCheckState "")
34 AddCMakeTest(While "")
36 AddCMakeTest(FileDownload "")
37 set_property(TEST CMake.FileDownload PROPERTY
38 PASS_REGULAR_EXPRESSION "file already exists with expected MD5 sum"
41 AddCMakeTest(FileUpload "")
48 "-Ddir:STRING=${CMAKE_CURRENT_BINARY_DIR}/EndStuffTest"
50 AddCMakeTest(EndStuff "${EndStuff_PreArgs}")
52 set(GetPrerequisites_PreArgs
53 "-DCTEST_CONFIGURATION_TYPE:STRING=\\\${CTEST_CONFIGURATION_TYPE}"
55 AddCMakeTest(GetPrerequisites "${GetPrerequisites_PreArgs}")
57 # Run CheckSourceTree as the very last test in the CMake/CTest/CPack test
58 # suite. It detects if any changes have been made to the CMake source tree
59 # by any previous configure, build or test steps.
62 string(REPLACE "\\" "/" ENV_HOME "$ENV{HOME}")
63 set(CheckSourceTree_PreArgs
64 "-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
65 "-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
66 "-DGIT_EXECUTABLE:STRING=${GIT_EXECUTABLE}"
67 "-DHOME:STRING=${ENV_HOME}"
69 AddCMakeTest(CheckSourceTree "${CheckSourceTree_PreArgs}")