| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- include(RunCMake)
- function(RunClean)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/Clean-build)
- run_cmake(Clean -DCMAKE_CONFIGURATION_TYPES=Debug)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(Clean-build xcodebuild)
- run_cmake_command(Clean-clean xcodebuild clean)
- endfunction()
- RunClean()
- run_cmake_with_options(ArchsStandard "-DCMAKE_OSX_ARCHITECTURES=$(ARCHS_STANDARD)")
- run_cmake(ExplicitCMakeLists)
- run_cmake(ImplicitCMakeLists)
- run_cmake(InterfaceLibSources)
- run_cmake_with_options(SearchPaths -DCMAKE_CONFIGURATION_TYPES=Debug)
- run_cmake_with_options(InheritedParameters -DCMake_TEST_Swift=${CMake_TEST_Swift})
- run_cmake(XcodeFileType)
- run_cmake(XcodeAttributeLocation)
- run_cmake(XcodeAttributeGenex)
- run_cmake(XcodeAttributeGenexError)
- run_cmake(XcodeGenerateTopLevelProjectOnly)
- if(XCODE_VERSION VERSION_GREATER_EQUAL 12)
- run_cmake(XcodeDuplicateCustomCommand)
- endif()
- function(XcodeGenerateTopLevelProjectOnlyWithObjectLibrary)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeGenerateTopLevelProjectOnlyWithObjectLibrary-build)
- run_cmake(XcodeGenerateTopLevelProjectOnlyWithObjectLibrary)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(XcodeGenerateTopLevelProjectOnlyWithObjectLibrary-build ${CMAKE_COMMAND} --build . --target shared_lib)
- endfunction()
- XcodeGenerateTopLevelProjectOnlyWithObjectLibrary()
- function(LinkBinariesBuildPhase mode)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/LinkBinariesBuildPhase_${mode}-build)
- set(RunCMake_TEST_OPTIONS "-DCMAKE_XCODE_LINK_BUILD_PHASE_MODE=${mode}")
- run_cmake(LinkBinariesBuildPhase_${mode})
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(LinkBinariesBuildPhase_${mode}-build ${CMAKE_COMMAND} --build .)
- endfunction()
- LinkBinariesBuildPhase(NONE)
- LinkBinariesBuildPhase(BUILT_ONLY)
- LinkBinariesBuildPhase(KNOWN_LOCATION)
- run_cmake(LinkBinariesBuildPhase_INVALID)
- run_cmake(XcodeObjectNeedsEscape)
- run_cmake(XcodeObjectNeedsQuote)
- run_cmake(XcodeOptimizationFlags)
- run_cmake(XcodePreserveNonOptimizationFlags)
- run_cmake(XcodePreserveObjcFlag)
- run_cmake(XcodePrecompileHeaders)
- if (NOT XCODE_VERSION VERSION_LESS 6)
- run_cmake(XcodePlatformFrameworks)
- endif()
- run_cmake(PerConfigPerSourceFlags)
- run_cmake(PerConfigPerSourceOptions)
- run_cmake(PerConfigPerSourceDefinitions)
- run_cmake(PerConfigPerSourceIncludeDirs)
- if(XCODE_VERSION VERSION_GREATER_EQUAL 12)
- function(XcodeObjectLibsInTwoProjectsiOS)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeObjectLibsInTwoProjects-build-ios)
- set(RunCMake_TEST_OPTIONS "-DCMAKE_SYSTEM_NAME=iOS")
- run_cmake(XcodeObjectLibsInTwoProjects)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(XcodeObjectLibsInTwoProjects-build-ios ${CMAKE_COMMAND} --build . --target shared_lib -- -sdk iphonesimulator)
- endfunction()
- XcodeObjectLibsInTwoProjectsiOS()
- function(XcodeObjectLibsInTwoProjectsMacOS)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeObjectLibsInTwoProjects-build-macos)
- run_cmake(XcodeObjectLibsInTwoProjects)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(XcodeObjectLibsInTwoProjects-build-macos ${CMAKE_COMMAND} --build . --target shared_lib)
- endfunction()
- XcodeObjectLibsInTwoProjectsMacOS()
- block()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/BundlePostBuild-build)
- run_cmake(BundlePostBuild)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(BundlePostBuild-build ${CMAKE_COMMAND} --build . --config Debug)
- endblock()
- endif()
- function(XcodeSchemaGeneration)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeSchemaGeneration-build)
- set(RunCMake_TEST_NO_CLEAN 1)
- set(RunCMake_TEST_OPTIONS "-DCMAKE_XCODE_GENERATE_SCHEME=ON")
- file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
- file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
- run_cmake(XcodeSchemaGeneration)
- if (XCODE_VERSION VERSION_GREATER_EQUAL 13)
- set(maybe_destination -destination platform=macOS,arch=${CMAKE_HOST_SYSTEM_PROCESSOR})
- else()
- set(maybe_destination "")
- endif()
- run_cmake_command(XcodeSchemaGeneration-build xcodebuild -scheme foo ${maybe_destination} build)
- endfunction()
- if(NOT XCODE_VERSION VERSION_LESS 7)
- XcodeSchemaGeneration()
- run_cmake(XcodeSchemaProperty)
- endif()
- function(XcodeDependOnZeroCheck)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeDependOnZeroCheck-build)
- set(RunCMake_TEST_NO_CLEAN 1)
- file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
- file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
- run_cmake(XcodeDependOnZeroCheck)
- run_cmake_command(XcodeDependOnZeroCheck-build ${CMAKE_COMMAND} --build . --target parentdirlib)
- run_cmake_command(XcodeDependOnZeroCheck-build ${CMAKE_COMMAND} --build . --target subdirlib)
- endfunction()
- XcodeDependOnZeroCheck()
- function(XcodeObjcxxFlags testName)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${testName}-build)
- set(RunCMake_TEST_NO_CLEAN 1)
- file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
- file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
- run_cmake(${testName})
- run_cmake_command(${testName}-build ${CMAKE_COMMAND} --build .)
- endfunction()
- XcodeObjcxxFlags(XcodeObjcFlags)
- XcodeObjcxxFlags(XcodeObjcxxFlags)
- function(XcodeRemoveExcessiveISystem)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeRemoveExcessiveISystem-build)
- run_cmake(XcodeRemoveExcessiveISystem)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(XcodeRemoveExcessiveISystem-build ${CMAKE_COMMAND} --build .)
- endfunction()
- XcodeRemoveExcessiveISystem()
- function(XcodeXCConfig)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeXCConfig-build)
- run_cmake(XcodeXCConfig)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(XcodeXCConfig-build ${CMAKE_COMMAND} --build . --config Debug)
- run_cmake_command(XcodeXCConfig-build ${CMAKE_COMMAND} --build . --config Release)
- endfunction()
- XcodeXCConfig()
- function(BundleLinkBundle)
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/BundleLinkBundle-build)
- run_cmake(BundleLinkBundle)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(BundleLinkBundle-build ${CMAKE_COMMAND} --build .)
- endfunction()
- BundleLinkBundle()
- if(XCODE_VERSION VERSION_GREATER_EQUAL 12)
- block()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeWorkspace-build)
- run_cmake(XcodeWorkspace)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(XcodeWorkspace-build ${CMAKE_COMMAND} --build . --config Debug)
- run_cmake_command(XcodeWorkspace-build2 ${CMAKE_COMMAND} --build . --config Debug --target custom1 custom2)
- endblock()
- endif()
- # Please add device-specific tests to '../XcodeProject-Device/RunCMakeTest.cmake'.
|