CMakeLists.txt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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(ConfigureFile "")
  19. AddCMakeTest(SeparateArguments "")
  20. AddCMakeTest(ImplicitLinkInfo "")
  21. AddCMakeTest(ModuleNotices "")
  22. AddCMakeTest(GetProperty "")
  23. AddCMakeTest(If "")
  24. AddCMakeTest(String "")
  25. AddCMakeTest(Math "")
  26. AddCMakeTest(CMakeMinimumRequired "")
  27. AddCMakeTest(CompilerIdVendor "")
  28. AddCMakeTest(ProcessorCount "-DKWSYS_TEST_EXE=$<TARGET_FILE:cmsysTestsCxx>")
  29. AddCMakeTest(PushCheckState "")
  30. AddCMakeTest(While "")
  31. AddCMakeTest(CMakeHostSystemInformation "")
  32. AddCMakeTest(FileDownload "")
  33. set_property(TEST CMake.FileDownload PROPERTY
  34. PASS_REGULAR_EXPRESSION "file already exists with expected MD5 sum"
  35. )
  36. AddCMakeTest(FileDownloadBadHash "")
  37. set_property(TEST CMake.FileDownloadBadHash PROPERTY
  38. WILL_FAIL TRUE
  39. )
  40. AddCMakeTest(FileUpload "")
  41. if(HAVE_ELF_H)
  42. AddCMakeTest(ELF "")
  43. endif()
  44. set(EndStuff_PreArgs
  45. "-Ddir:STRING=${CMAKE_CURRENT_BINARY_DIR}/EndStuffTest"
  46. )
  47. AddCMakeTest(EndStuff "${EndStuff_PreArgs}")
  48. set(GetPrerequisites_PreArgs
  49. "-DCTEST_CONFIGURATION_TYPE:STRING=\\\${CTEST_CONFIGURATION_TYPE}"
  50. )
  51. AddCMakeTest(GetPrerequisites "${GetPrerequisites_PreArgs}")
  52. if(GIT_EXECUTABLE)
  53. set(PolicyCheck_PreArgs
  54. "-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
  55. "-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
  56. "-DGIT_EXECUTABLE:STRING=${GIT_EXECUTABLE}"
  57. )
  58. AddCMakeTest(PolicyCheck "${PolicyCheck_PreArgs}")
  59. endif()
  60. # Run CheckSourceTree as the very last test in the CMake/CTest/CPack test
  61. # suite. It detects if any changes have been made to the CMake source tree
  62. # by any previous configure, build or test steps.
  63. #
  64. if(GIT_EXECUTABLE)
  65. string(REPLACE "\\" "/" ENV_HOME "$ENV{HOME}")
  66. set(CheckSourceTree_PreArgs
  67. "-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
  68. "-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
  69. "-DGIT_EXECUTABLE:STRING=${GIT_EXECUTABLE}"
  70. "-DHOME:STRING=${ENV_HOME}"
  71. )
  72. AddCMakeTest(CheckSourceTree "${CheckSourceTree_PreArgs}")
  73. endif()