Tests: Enable visionOS tests with Xcode 15.2

Xcode 15.2 officially includes the visionOS SDKs.

Fixes: #25266
This commit is contained in:
Brad King
2024-02-08 11:39:57 -05:00
parent f6fa34839c
commit 22eb1b6d67
2 changed files with 37 additions and 44 deletions

View File

@@ -14,17 +14,15 @@ function(create_libraries type)
create_library(${type} ios iOS "arm64" iphoneos)
create_library(${type} tvos tvOS "arm64" appletvos)
create_library(${type} watchos watchOS "armv7k\\\\;arm64_32" watchos)
#FIXME(#25266): Xcode 15.0 does not have visionOS. Improve this condition.
#if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 15)
# create_library(${type} visionos visionOS "arm64" xros)
#endif()
if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 15.2)
create_library(${type} visionos visionOS "arm64" xros)
endif()
create_library(${type} ios-simulator iOS "${macos_archs_2}" iphonesimulator)
create_library(${type} tvos-simulator tvOS "${macos_archs_2}" appletvsimulator)
create_library(${type} watchos-simulator watchOS "${watch_sim_archs_2}" watchsimulator)
#FIXME(#25266): Xcode 15.0 does not have visionOS. Improve this condition.
#if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 15)
# create_library(${type} visionos-simulator visionOS "${macos_archs_2}" xrsimulator)
#endif()
if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 15.2)
create_library(${type} visionos-simulator visionOS "${macos_archs_2}" xrsimulator)
endif()
endfunction()
function(create_xcframework name type platforms)
@@ -62,24 +60,21 @@ function(create_executables name type)
create_executable(${name}-ios ${type} iOS "arm64" iphoneos)
create_executable(${name}-tvos ${type} tvOS "arm64" appletvos)
create_executable(${name}-watchos ${type} watchOS "armv7k\\\\;arm64_32" watchos)
#FIXME(#25266): Xcode 15.0 does not have visionOS. Improve this condition.
#if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 15)
# create_executable(${name}-visionos ${type} visionOS "arm64" xros)
#endif()
if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 15.2)
create_executable(${name}-visionos ${type} visionOS "arm64" xros)
endif()
create_executable(${name}-ios-simulator ${type} iOS "${macos_archs_2}" iphonesimulator)
create_executable(${name}-tvos-simulator ${type} tvOS "${macos_archs_2}" appletvsimulator)
create_executable(${name}-watchos-simulator ${type} watchOS "${watch_sim_archs_2}" watchsimulator)
#FIXME(#25266): Xcode 15.0 does not have visionOS. Improve this condition.
#if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 15)
# create_executable(${name}-visionos-simulator ${type} visionOS "${macos_archs_2}" xrsimulator)
#endif()
if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 15.2)
create_executable(${name}-visionos-simulator ${type} visionOS "${macos_archs_2}" xrsimulator)
endif()
endfunction()
set(xcframework_platforms macos ios tvos watchos ios-simulator tvos-simulator watchos-simulator)
#FIXME(#25266): Xcode 15.0 does not have visionOS. Improve this condition.
#if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 15)
# list(APPEND xcframework_platforms visionos visionos-simulator)
#endif()
if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 15.2)
list(APPEND xcframework_platforms visionos visionos-simulator)
endif()
if(CMake_TEST_XCODE_VERSION VERSION_GREATER_EQUAL 12)
set(macos_archs_1 "x86_64\\;arm64")
set(macos_archs_2 "x86_64\\\\;arm64")

View File

@@ -93,25 +93,24 @@ if(NOT XCODE_VERSION VERSION_LESS 7.1)
unset(RunCMake_TEST_OPTIONS)
endif()
#FIXME(#25266): Xcode 15.0 does not have visionOS. Improve this condition.
#if(NOT XCODE_VERSION VERSION_LESS 15)
# set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesVisionOS-build)
# set(RunCMake_TEST_NO_CLEAN 1)
# set(RunCMake_TEST_OPTIONS
# "-DCMAKE_SYSTEM_NAME=visionOS"
# "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
#
# file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
# file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
#
# run_cmake(XcodeBundles)
# run_cmake_command(XcodeBundles-build-visionOS ${CMAKE_COMMAND} --build .)
# run_cmake_command(XcodeBundles-install-visionOS ${CMAKE_COMMAND} --build . --target install)
#
# unset(RunCMake_TEST_BINARY_DIR)
# unset(RunCMake_TEST_NO_CLEAN)
# unset(RunCMake_TEST_OPTIONS)
#endif()
if(NOT XCODE_VERSION VERSION_LESS 15.2)
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesVisionOS-build)
set(RunCMake_TEST_NO_CLEAN 1)
set(RunCMake_TEST_OPTIONS
"-DCMAKE_SYSTEM_NAME=visionOS"
"-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
run_cmake(XcodeBundles)
run_cmake_command(XcodeBundles-build-visionOS ${CMAKE_COMMAND} --build .)
run_cmake_command(XcodeBundles-install-visionOS ${CMAKE_COMMAND} --build . --target install)
unset(RunCMake_TEST_BINARY_DIR)
unset(RunCMake_TEST_NO_CLEAN)
unset(RunCMake_TEST_OPTIONS)
endif()
if(NOT XCODE_VERSION VERSION_LESS 7)
set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/osx.cmake")
@@ -262,11 +261,10 @@ if(XCODE_VERSION VERSION_GREATER_EQUAL 8)
deployment_target_test(tvOS appletvsimulator)
deployment_target_test(watchOS watchos)
deployment_target_test(watchOS watchsimulator)
#FIXME(#25266): Xcode 15.0 does not have visionOS. Improve this condition.
#if(XCODE_VERSION VERSION_GREATER_EQUAL 15)
# deployment_target_test(visionOS xros)
# deployment_target_test(visionOS xrsimulator)
#endif()
if(XCODE_VERSION VERSION_GREATER_EQUAL 15.2)
deployment_target_test(visionOS xros)
deployment_target_test(visionOS xrsimulator)
endif()
endif()
if(XCODE_VERSION VERSION_GREATER_EQUAL 8)