mirror of
https://github.com/reactos/CMake.git
synced 2024-11-29 06:20:23 +00:00
bb71a3a0df
Expose the internal system information API to the CMake language. For example, it is useful to see how much memory the system has available to estimate an upper limit of tests that can run in parallel.
72 lines
2.1 KiB
CMake
72 lines
2.1 KiB
CMake
set(CMAKE_EXECUTABLE "${CMake_BIN_DIR}/cmake")
|
|
|
|
|
|
macro(AddCMakeTest TestName PreArgs)
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${TestName}Test.cmake.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" @ONLY IMMEDIATE)
|
|
add_test(NAME CMake.${TestName}
|
|
COMMAND ${CMAKE_EXECUTABLE} ${PreArgs}
|
|
-P "${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" ${ARGN})
|
|
endmacro()
|
|
|
|
|
|
AddCMakeTest(List "")
|
|
AddCMakeTest(VariableWatch "")
|
|
AddCMakeTest(Include "")
|
|
AddCMakeTest(FindBase "")
|
|
AddCMakeTest(Toolchain "")
|
|
AddCMakeTest(GetFilenameComponentRealpath "")
|
|
AddCMakeTest(Version "")
|
|
AddCMakeTest(Message "")
|
|
AddCMakeTest(File "")
|
|
AddCMakeTest(ConfigureFile "")
|
|
AddCMakeTest(SeparateArguments "")
|
|
AddCMakeTest(ImplicitLinkInfo "")
|
|
AddCMakeTest(ModuleNotices "")
|
|
AddCMakeTest(GetProperty "")
|
|
AddCMakeTest(If "")
|
|
AddCMakeTest(String "")
|
|
AddCMakeTest(Math "")
|
|
AddCMakeTest(CMakeMinimumRequired "")
|
|
AddCMakeTest(CompilerIdVendor "")
|
|
AddCMakeTest(ProcessorCount "-DKWSYS_TEST_EXE=$<TARGET_FILE:cmsysTestsCxx>")
|
|
AddCMakeTest(PushCheckState "")
|
|
AddCMakeTest(While "")
|
|
AddCMakeTest(CMakeHostSystemInformation "")
|
|
|
|
AddCMakeTest(FileDownload "")
|
|
set_property(TEST CMake.FileDownload PROPERTY
|
|
PASS_REGULAR_EXPRESSION "file already exists with expected MD5 sum"
|
|
)
|
|
|
|
AddCMakeTest(FileUpload "")
|
|
|
|
if(HAVE_ELF_H)
|
|
AddCMakeTest(ELF "")
|
|
endif()
|
|
|
|
set(EndStuff_PreArgs
|
|
"-Ddir:STRING=${CMAKE_CURRENT_BINARY_DIR}/EndStuffTest"
|
|
)
|
|
AddCMakeTest(EndStuff "${EndStuff_PreArgs}")
|
|
|
|
set(GetPrerequisites_PreArgs
|
|
"-DCTEST_CONFIGURATION_TYPE:STRING=\\\${CTEST_CONFIGURATION_TYPE}"
|
|
)
|
|
AddCMakeTest(GetPrerequisites "${GetPrerequisites_PreArgs}")
|
|
|
|
# Run CheckSourceTree as the very last test in the CMake/CTest/CPack test
|
|
# suite. It detects if any changes have been made to the CMake source tree
|
|
# by any previous configure, build or test steps.
|
|
#
|
|
if(GIT_EXECUTABLE)
|
|
string(REPLACE "\\" "/" ENV_HOME "$ENV{HOME}")
|
|
set(CheckSourceTree_PreArgs
|
|
"-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
|
|
"-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
|
|
"-DGIT_EXECUTABLE:STRING=${GIT_EXECUTABLE}"
|
|
"-DHOME:STRING=${ENV_HOME}"
|
|
)
|
|
AddCMakeTest(CheckSourceTree "${CheckSourceTree_PreArgs}")
|
|
endif()
|