CMakeLists.txt 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. set(CMAKE_EXECUTABLE "${CMake_BIN_DIR}/cmake")
  2. macro(AddCMakeTest TestName PreArgs)
  3. configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${TestName}Test.cmake.in"
  4. "${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" @ONLY)
  5. add_test(NAME CMake.${TestName}
  6. COMMAND ${CMAKE_EXECUTABLE} ${PreArgs}
  7. -P "${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" ${ARGN})
  8. endmacro()
  9. AddCMakeTest(List "")
  10. AddCMakeTest(VariableWatch "")
  11. AddCMakeTest(Include "")
  12. AddCMakeTest(FindBase "")
  13. AddCMakeTest(Toolchain "")
  14. AddCMakeTest(GetFilenameComponentRealpath "")
  15. AddCMakeTest(Version "")
  16. AddCMakeTest(Message "")
  17. AddCMakeTest(File "")
  18. AddCMakeTest(SeparateArguments "")
  19. AddCMakeTest(ImplicitLinkInfo "")
  20. AddCMakeTest(ModuleNotices "")
  21. AddCMakeTest(GetProperty "")
  22. AddCMakeTest(If "")
  23. AddCMakeTest(String "")
  24. AddCMakeTest(Math "")
  25. AddCMakeTest(CMakeMinimumRequired "")
  26. AddCMakeTest(CompilerIdVendor "")
  27. AddCMakeTest(ProcessorCount "-DKWSYS_TEST_EXE=$<TARGET_FILE:cmsysTestsCxx>")
  28. AddCMakeTest(PushCheckState "")
  29. AddCMakeTest(While "")
  30. AddCMakeTest(CMakeHostSystemInformation "")
  31. AddCMakeTest(FileDownload "")
  32. set_property(TEST CMake.FileDownload PROPERTY
  33. PASS_REGULAR_EXPRESSION "file already exists with expected MD5 sum"
  34. )
  35. AddCMakeTest(FileDownloadBadHash "")
  36. set_property(TEST CMake.FileDownloadBadHash PROPERTY
  37. WILL_FAIL TRUE
  38. )
  39. AddCMakeTest(FileUpload "")
  40. if(HAVE_ELF_H)
  41. AddCMakeTest(ELF "")
  42. endif()
  43. set(EndStuff_PreArgs
  44. "-Ddir:STRING=${CMAKE_CURRENT_BINARY_DIR}/EndStuffTest"
  45. )
  46. AddCMakeTest(EndStuff "${EndStuff_PreArgs}")
  47. set(GetPrerequisites_PreArgs
  48. "-DCTEST_CONFIGURATION_TYPE:STRING=\\\${CTEST_CONFIGURATION_TYPE}"
  49. )
  50. AddCMakeTest(GetPrerequisites "${GetPrerequisites_PreArgs}")
  51. if(GIT_EXECUTABLE)
  52. set(PolicyCheck_PreArgs
  53. "-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
  54. "-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
  55. "-DGIT_EXECUTABLE:STRING=${GIT_EXECUTABLE}"
  56. )
  57. AddCMakeTest(PolicyCheck "${PolicyCheck_PreArgs}")
  58. endif()
  59. # Run CheckSourceTree as the very last test in the CMake/CTest/CPack test
  60. # suite. It detects if any changes have been made to the CMake source tree
  61. # by any previous configure, build or test steps.
  62. #
  63. if(GIT_EXECUTABLE)
  64. string(REPLACE "\\" "/" ENV_HOME "$ENV{HOME}")
  65. set(CheckSourceTree_PreArgs
  66. "-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
  67. "-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
  68. "-DGIT_EXECUTABLE:STRING=${GIT_EXECUTABLE}"
  69. "-DHOME:STRING=${ENV_HOME}"
  70. )
  71. AddCMakeTest(CheckSourceTree "${CheckSourceTree_PreArgs}")
  72. endif()