CMakeLists.txt 2.3 KB

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