RunCMakeTest.cmake 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. include(RunCMake)
  2. run_cmake(XcodeFileType)
  3. run_cmake(XcodeAttributeGenex)
  4. run_cmake(XcodeAttributeGenexError)
  5. run_cmake(XcodeObjectNeedsEscape)
  6. run_cmake(XcodeObjectNeedsQuote)
  7. run_cmake(XcodeOptimizationFlags)
  8. run_cmake(XcodePreserveNonOptimizationFlags)
  9. run_cmake(XcodePreserveObjcFlag)
  10. if (NOT XCODE_VERSION VERSION_LESS 6)
  11. run_cmake(XcodePlatformFrameworks)
  12. endif()
  13. # Use a single build tree for a few tests without cleaning.
  14. if(NOT XCODE_VERSION VERSION_LESS 5)
  15. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeInstallIOS-build)
  16. set(RunCMake_TEST_NO_CLEAN 1)
  17. set(RunCMake_TEST_OPTIONS "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_BINARY_DIR}/ios_install")
  18. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  19. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  20. run_cmake(XcodeInstallIOS)
  21. run_cmake_command(XcodeInstallIOS-install ${CMAKE_COMMAND} --build . --target install)
  22. unset(RunCMake_TEST_BINARY_DIR)
  23. unset(RunCMake_TEST_NO_CLEAN)
  24. unset(RunCMake_TEST_OPTIONS)
  25. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesOSX-build)
  26. set(RunCMake_TEST_NO_CLEAN 1)
  27. set(RunCMake_TEST_OPTIONS "-DTEST_IOS=OFF")
  28. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  29. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  30. run_cmake(XcodeBundles)
  31. run_cmake_command(XcodeBundles-build ${CMAKE_COMMAND} --build .)
  32. unset(RunCMake_TEST_BINARY_DIR)
  33. unset(RunCMake_TEST_NO_CLEAN)
  34. unset(RunCMake_TEST_OPTIONS)
  35. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesIOS-build)
  36. set(RunCMake_TEST_NO_CLEAN 1)
  37. set(RunCMake_TEST_OPTIONS "-DTEST_IOS=ON")
  38. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  39. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  40. run_cmake(XcodeBundles)
  41. run_cmake_command(XcodeBundles-build ${CMAKE_COMMAND} --build .)
  42. unset(RunCMake_TEST_BINARY_DIR)
  43. unset(RunCMake_TEST_NO_CLEAN)
  44. unset(RunCMake_TEST_OPTIONS)
  45. endif()
  46. if(NOT XCODE_VERSION VERSION_LESS 7)
  47. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesWatchOS-build)
  48. set(RunCMake_TEST_NO_CLEAN 1)
  49. set(RunCMake_TEST_OPTIONS "-DTEST_WATCHOS=ON")
  50. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  51. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  52. run_cmake(XcodeBundles)
  53. run_cmake_command(XcodeBundles-build ${CMAKE_COMMAND} --build .)
  54. unset(RunCMake_TEST_BINARY_DIR)
  55. unset(RunCMake_TEST_NO_CLEAN)
  56. unset(RunCMake_TEST_OPTIONS)
  57. endif()
  58. if(NOT XCODE_VERSION VERSION_LESS 7.1)
  59. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesTvOS-build)
  60. set(RunCMake_TEST_NO_CLEAN 1)
  61. set(RunCMake_TEST_OPTIONS "-DTEST_TVOS=ON")
  62. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  63. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  64. run_cmake(XcodeBundles)
  65. run_cmake_command(XcodeBundles-build ${CMAKE_COMMAND} --build .)
  66. unset(RunCMake_TEST_BINARY_DIR)
  67. unset(RunCMake_TEST_NO_CLEAN)
  68. unset(RunCMake_TEST_OPTIONS)
  69. endif()
  70. if(NOT XCODE_VERSION VERSION_LESS 7)
  71. set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/osx.cmake")
  72. run_cmake(XcodeTbdStub)
  73. unset(RunCMake_TEST_OPTIONS)
  74. endif()
  75. if(NOT XCODE_VERSION VERSION_LESS 6)
  76. # XcodeIOSInstallCombined
  77. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeIOSInstallCombined-build)
  78. set(RunCMake_TEST_NO_CLEAN 1)
  79. set(RunCMake_TEST_OPTIONS
  80. "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install"
  81. "-DCMAKE_IOS_INSTALL_COMBINED=YES")
  82. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  83. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  84. run_cmake(XcodeIOSInstallCombined)
  85. run_cmake_command(XcodeIOSInstallCombined-build ${CMAKE_COMMAND} --build .)
  86. run_cmake_command(XcodeIOSInstallCombined-install ${CMAKE_COMMAND} --build . --target install)
  87. unset(RunCMake_TEST_BINARY_DIR)
  88. unset(RunCMake_TEST_NO_CLEAN)
  89. unset(RunCMake_TEST_OPTIONS)
  90. # XcodeIOSInstallCombinedPrune
  91. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeIOSInstallCombinedPrune-build)
  92. set(RunCMake_TEST_NO_CLEAN 1)
  93. set(RunCMake_TEST_OPTIONS
  94. "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install"
  95. "-DCMAKE_IOS_INSTALL_COMBINED=YES")
  96. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  97. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  98. run_cmake(XcodeIOSInstallCombinedPrune)
  99. run_cmake_command(XcodeIOSInstallCombinedPrune-build ${CMAKE_COMMAND} --build .)
  100. run_cmake_command(XcodeIOSInstallCombinedPrune-install ${CMAKE_COMMAND} --build . --target install)
  101. unset(RunCMake_TEST_BINARY_DIR)
  102. unset(RunCMake_TEST_NO_CLEAN)
  103. unset(RunCMake_TEST_OPTIONS)
  104. # XcodeIOSInstallCombinedSingleArch
  105. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeIOSInstallCombinedSingleArch-build)
  106. set(RunCMake_TEST_NO_CLEAN 1)
  107. set(RunCMake_TEST_OPTIONS
  108. "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install"
  109. "-DCMAKE_IOS_INSTALL_COMBINED=YES")
  110. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  111. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  112. run_cmake(XcodeIOSInstallCombinedSingleArch)
  113. run_cmake_command(XcodeIOSInstallCombinedSingleArch-build ${CMAKE_COMMAND} --build .)
  114. run_cmake_command(XcodeIOSInstallCombinedSingleArch-install ${CMAKE_COMMAND} --build . --target install)
  115. unset(RunCMake_TEST_BINARY_DIR)
  116. unset(RunCMake_TEST_NO_CLEAN)
  117. unset(RunCMake_TEST_OPTIONS)
  118. endif()