Skip to content

Commit e8bbf7f

Browse files
authored
Merge pull request #202 from okwasniewski/master
feat: add visionOS combined, remove visionOS x64. Thnaks to @okwasniewski for adding this!
2 parents 5f6d7d2 + fa275a9 commit e8bbf7f

File tree

1 file changed

+22
-10
lines changed

1 file changed

+22
-10
lines changed

ios.toolchain.cmake

+22-10
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@
6767
# TVOSCOMBINED = Build for arm64 x86_64 tvOS + tvOS Simulator. Combined into FAT STATIC lib (only supported on 3.14+ of CMake with "-G Xcode" argument in combination with the "cmake --install" CMake build step)
6868
# SIMULATOR_TVOS = Build for x86_64 tvOS Simulator.
6969
# SIMULATORARM64_TVOS = Build for arm64 tvOS Simulator.
70+
# VISIONOSCOMBINED = Build for arm64 visionOS + visionOS Simulator. Combined into FAT STATIC lib (only supported on 3.14+ of CMake with "-G Xcode" argument in combination with the "cmake --install" CMake build step)
71+
# VISIONOS = Build for arm64 visionOS.
72+
# SIMULATOR_VISIONOS = Build for arm64 visionOS Simulator.
7073
# WATCHOS = Build for armv7k arm64_32 for watchOS.
7174
# WATCHOSCOMBINED = Build for armv7k arm64_32 x86_64 watchOS + watchOS Simulator. Combined into FAT STATIC lib (only supported on 3.14+ of CMake with "-G Xcode" argument in combination with the "cmake --install" CMake build step)
7275
# SIMULATOR_WATCHOS = Build for x86_64 for watchOS Simulator.
@@ -162,7 +165,7 @@ list(APPEND _supported_platforms
162165
"TVOS" "TVOSCOMBINED" "SIMULATOR_TVOS" "SIMULATORARM64_TVOS"
163166
"WATCHOS" "WATCHOSCOMBINED" "SIMULATOR_WATCHOS" "SIMULATORARM64_WATCHOS"
164167
"MAC" "MAC_ARM64" "MAC_UNIVERSAL"
165-
"VISIONOS" "SIMULATOR_VISIONOS" "SIMULATOR64_VISIONOS"
168+
"VISIONOS" "SIMULATOR_VISIONOS" "VISIONOSCOMBINED"
166169
"MAC_CATALYST" "MAC_CATALYST_ARM64")
167170

168171
# Cache what generator is used
@@ -263,7 +266,7 @@ if(NOT DEFINED DEPLOYMENT_TARGET)
263266
elseif(PLATFORM STREQUAL "MAC")
264267
# Unless specified, SDK version 10.13 (High Sierra) is used by default as the minimum target version (macos).
265268
set(DEPLOYMENT_TARGET "11.0")
266-
elseif(PLATFORM STREQUAL "VISIONOS" OR PLATFORM STREQUAL "SIMULATOR_VISIONOS" OR PLATFORM STREQUAL "SIMULATOR64_VISIONOS")
269+
elseif(PLATFORM STREQUAL "VISIONOS" OR PLATFORM STREQUAL "SIMULATOR_VISIONOS" OR PLATFORM STREQUAL "VISIONOSCOMBINED")
267270
# Unless specified, SDK version 1.0 is used by default as minimum target version (visionOS).
268271
set(DEPLOYMENT_TARGET "1.0")
269272
elseif(PLATFORM STREQUAL "MAC_ARM64")
@@ -491,14 +494,6 @@ elseif(PLATFORM_INT STREQUAL "SIMULATORARM64_WATCHOS")
491494
else()
492495
set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-watchos${DEPLOYMENT_TARGET}-simulator)
493496
endif()
494-
elseif(PLATFORM_INT STREQUAL "SIMULATOR64_VISIONOS")
495-
set(SDK_NAME xrsimulator)
496-
if(NOT ARCHS)
497-
set(ARCHS x86_64)
498-
set(APPLE_TARGET_TRIPLE_INT x86_64-apple-xros${DEPLOYMENT_TARGET}-simulator)
499-
else()
500-
set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-xros${DEPLOYMENT_TARGET}-simulator)
501-
endif()
502497
elseif(PLATFORM_INT STREQUAL "SIMULATOR_VISIONOS")
503498
set(SDK_NAME xrsimulator)
504499
if(NOT ARCHS)
@@ -515,6 +510,20 @@ elseif(PLATFORM_INT STREQUAL "VISIONOS")
515510
else()
516511
set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-xros${DEPLOYMENT_TARGET})
517512
endif()
513+
elseif(PLATFORM_INT STREQUAL "VISIONOSCOMBINED")
514+
set(SDK_NAME xros)
515+
if(MODERN_CMAKE)
516+
if(NOT ARCHS)
517+
set(ARCHS arm64)
518+
set(APPLE_TARGET_TRIPLE_INT arm64-apple-xros${DEPLOYMENT_TARGET})
519+
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=xros*] "arm64")
520+
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=xrsimulator*] "arm64")
521+
else()
522+
set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-xros${DEPLOYMENT_TARGET})
523+
endif()
524+
else()
525+
message(FATAL_ERROR "Please make sure that you are running CMake 3.14+ to make the VISIONOSCOMBINED setting work")
526+
endif()
518527
elseif(PLATFORM_INT STREQUAL "MAC" OR PLATFORM_INT STREQUAL "MAC_CATALYST")
519528
set(SDK_NAME macosx)
520529
if(NOT ARCHS)
@@ -755,6 +764,9 @@ if(PLATFORM STREQUAL "MAC" OR PLATFORM STREQUAL "MAC_ARM64" OR PLATFORM STREQUAL
755764
elseif(PLATFORM STREQUAL "MAC_CATALYST" OR PLATFORM STREQUAL "MAC_CATALYST_ARM64")
756765
set(IOS ON CACHE BOOL "")
757766
set(MACOS ON CACHE BOOL "")
767+
elseif(PLATFORM STREQUAL "VISIONOS" OR PLATFORM STREQUAL "SIMULATOR_VISIONOS" OR PLATFORM STREQUAL "VISIONOSCOMBINED")
768+
set(IOS OFF CACHE BOOL "")
769+
set(VISIONOS ON CACHE BOOL "")
758770
else()
759771
set(IOS ON CACHE BOOL "")
760772
endif()

0 commit comments

Comments
 (0)