RunCMakeTest.cmake 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  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
  28. "-DTEST_IOS=OFF"
  29. "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
  30. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  31. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  32. run_cmake(XcodeBundles)
  33. run_cmake_command(XcodeBundles-build ${CMAKE_COMMAND} --build .)
  34. run_cmake_command(XcodeBundles-install ${CMAKE_COMMAND} --build . --target install)
  35. unset(RunCMake_TEST_BINARY_DIR)
  36. unset(RunCMake_TEST_NO_CLEAN)
  37. unset(RunCMake_TEST_OPTIONS)
  38. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesIOS-build)
  39. set(RunCMake_TEST_NO_CLEAN 1)
  40. set(RunCMake_TEST_OPTIONS
  41. "-DTEST_IOS=ON"
  42. "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
  43. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  44. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  45. run_cmake(XcodeBundles)
  46. run_cmake_command(XcodeBundles-build ${CMAKE_COMMAND} --build .)
  47. run_cmake_command(XcodeBundles-install ${CMAKE_COMMAND} --build . --target install)
  48. unset(RunCMake_TEST_BINARY_DIR)
  49. unset(RunCMake_TEST_NO_CLEAN)
  50. unset(RunCMake_TEST_OPTIONS)
  51. endif()
  52. if(NOT XCODE_VERSION VERSION_LESS 7)
  53. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesWatchOS-build)
  54. set(RunCMake_TEST_NO_CLEAN 1)
  55. set(RunCMake_TEST_OPTIONS
  56. "-DTEST_WATCHOS=ON"
  57. "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
  58. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  59. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  60. run_cmake(XcodeBundles)
  61. run_cmake_command(XcodeBundles-build ${CMAKE_COMMAND} --build .)
  62. run_cmake_command(XcodeBundles-install ${CMAKE_COMMAND} --build . --target install)
  63. unset(RunCMake_TEST_BINARY_DIR)
  64. unset(RunCMake_TEST_NO_CLEAN)
  65. unset(RunCMake_TEST_OPTIONS)
  66. endif()
  67. if(NOT XCODE_VERSION VERSION_LESS 7.1)
  68. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesTvOS-build)
  69. set(RunCMake_TEST_NO_CLEAN 1)
  70. set(RunCMake_TEST_OPTIONS
  71. "-DTEST_TVOS=ON"
  72. "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
  73. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  74. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  75. run_cmake(XcodeBundles)
  76. run_cmake_command(XcodeBundles-build ${CMAKE_COMMAND} --build .)
  77. run_cmake_command(XcodeBundles-install ${CMAKE_COMMAND} --build . --target install)
  78. unset(RunCMake_TEST_BINARY_DIR)
  79. unset(RunCMake_TEST_NO_CLEAN)
  80. unset(RunCMake_TEST_OPTIONS)
  81. endif()
  82. if(NOT XCODE_VERSION VERSION_LESS 7)
  83. set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/osx.cmake")
  84. run_cmake(XcodeTbdStub)
  85. unset(RunCMake_TEST_OPTIONS)
  86. endif()
  87. if(NOT XCODE_VERSION VERSION_LESS 6)
  88. # XcodeIOSInstallCombined
  89. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeIOSInstallCombined-build)
  90. set(RunCMake_TEST_NO_CLEAN 1)
  91. set(RunCMake_TEST_OPTIONS
  92. "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install"
  93. "-DCMAKE_IOS_INSTALL_COMBINED=YES")
  94. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  95. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  96. run_cmake(XcodeIOSInstallCombined)
  97. run_cmake_command(XcodeIOSInstallCombined-build ${CMAKE_COMMAND} --build .)
  98. run_cmake_command(XcodeIOSInstallCombined-install ${CMAKE_COMMAND} --build . --target install)
  99. unset(RunCMake_TEST_BINARY_DIR)
  100. unset(RunCMake_TEST_NO_CLEAN)
  101. unset(RunCMake_TEST_OPTIONS)
  102. # XcodeIOSInstallCombinedPrune
  103. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeIOSInstallCombinedPrune-build)
  104. set(RunCMake_TEST_NO_CLEAN 1)
  105. set(RunCMake_TEST_OPTIONS
  106. "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install"
  107. "-DCMAKE_IOS_INSTALL_COMBINED=YES")
  108. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  109. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  110. run_cmake(XcodeIOSInstallCombinedPrune)
  111. run_cmake_command(XcodeIOSInstallCombinedPrune-build ${CMAKE_COMMAND} --build .)
  112. run_cmake_command(XcodeIOSInstallCombinedPrune-install ${CMAKE_COMMAND} --build . --target install)
  113. unset(RunCMake_TEST_BINARY_DIR)
  114. unset(RunCMake_TEST_NO_CLEAN)
  115. unset(RunCMake_TEST_OPTIONS)
  116. # XcodeIOSInstallCombinedSingleArch
  117. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeIOSInstallCombinedSingleArch-build)
  118. set(RunCMake_TEST_NO_CLEAN 1)
  119. set(RunCMake_TEST_OPTIONS
  120. "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install"
  121. "-DCMAKE_IOS_INSTALL_COMBINED=YES")
  122. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  123. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  124. run_cmake(XcodeIOSInstallCombinedSingleArch)
  125. run_cmake_command(XcodeIOSInstallCombinedSingleArch-build ${CMAKE_COMMAND} --build .)
  126. run_cmake_command(XcodeIOSInstallCombinedSingleArch-install ${CMAKE_COMMAND} --build . --target install)
  127. unset(RunCMake_TEST_BINARY_DIR)
  128. unset(RunCMake_TEST_NO_CLEAN)
  129. unset(RunCMake_TEST_OPTIONS)
  130. endif()