74
74
# 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)
75
75
# SIMULATOR_WATCHOS = Build for x86_64 for watchOS Simulator.
76
76
# SIMULATORARM64_WATCHOS = Build for arm64 for watchOS Simulator.
77
+ # SIMULATOR_WATCHOSCOMBINED = Build for arm64 x86_64 for watchOS Simulator. Combined into FAT STATIC lib (supported on 3.14+ of CMakewith "-G Xcode" argument ONLY)
77
78
# MAC = Build for x86_64 macOS.
78
79
# MAC_ARM64 = Build for Apple Silicon macOS.
79
80
# MAC_UNIVERSAL = Combined build for x86_64 and Apple Silicon on macOS.
@@ -166,9 +167,9 @@ set(ENV{_IOS_TOOLCHAIN_HAS_RUN} true)
166
167
list (APPEND _supported_platforms
167
168
"OS" "OS64" "OS64COMBINED" "SIMULATOR" "SIMULATOR64" "SIMULATORARM64" "SIMULATOR64COMBINED"
168
169
"TVOS" "TVOSCOMBINED" "SIMULATOR_TVOS" "SIMULATORARM64_TVOS"
169
- "WATCHOS" "WATCHOSCOMBINED" "SIMULATOR_WATCHOS" "SIMULATORARM64_WATCHOS"
170
+ "WATCHOS" "WATCHOSCOMBINED" "SIMULATOR_WATCHOS" "SIMULATORARM64_WATCHOS" "SIMULATOR_WATCHOSCOMBINED"
170
171
"MAC" "MAC_ARM64" "MAC_UNIVERSAL"
171
- "VISIONOS" "SIMULATOR_VISIONOS" "VISIONOSCOMBINED"
172
+ "VISIONOS" "SIMULATOR_VISIONOS" "VISIONOSCOMBINED"
172
173
"MAC_CATALYST" "MAC_CATALYST_ARM64" "MAC_CATALYST_UNIVERSAL" )
173
174
174
175
# Cache what generator is used
@@ -316,7 +317,7 @@ if(PLATFORM_INT STREQUAL "OS")
316
317
set (ARCHS armv7 armv7s arm64)
317
318
set (APPLE_TARGET_TRIPLE_INT arm-apple -ios${DEPLOYMENT_TARGET} )
318
319
else ()
319
- set (APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT} -apple -ios${DEPLOYMENT_TARGET} )
320
+ set (APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT} -apple -ios${DEPLOYMENT_TARGET} )
320
321
endif ()
321
322
elseif (PLATFORM_INT STREQUAL "OS64" )
322
323
set (SDK_NAME iphoneos)
@@ -461,12 +462,12 @@ elseif(PLATFORM_INT STREQUAL "WATCHOSCOMBINED")
461
462
if (MODERN_CMAKE)
462
463
if (NOT ARCHS)
463
464
if (XCODE_VERSION_INT VERSION_GREATER 10.0)
464
- set (ARCHS armv7k arm64_32 i386 )
465
- set (APPLE_TARGET_TRIPLE_INT arm64_32-i386 -apple -watchos${DEPLOYMENT_TARGET} )
465
+ set (ARCHS armv7k arm64_32 x86_64 )
466
+ set (APPLE_TARGET_TRIPLE_INT arm64_32-x86_64 -apple -watchos${DEPLOYMENT_TARGET} )
466
467
set (CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchos*] "armv7k arm64_32" )
467
- set (CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "i386 " )
468
+ set (CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "x86_64 " )
468
469
set (CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchos*] "armv7k arm64_32" )
469
- set (CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "i386 " )
470
+ set (CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "x86_64 " )
470
471
else ()
471
472
set (ARCHS armv7k i386)
472
473
set (APPLE_TARGET_TRIPLE_INT arm-i386-apple -watchos${DEPLOYMENT_TARGET} )
@@ -484,8 +485,13 @@ elseif(PLATFORM_INT STREQUAL "WATCHOSCOMBINED")
484
485
elseif (PLATFORM_INT STREQUAL "SIMULATOR_WATCHOS" )
485
486
set (SDK_NAME watchsimulator)
486
487
if (NOT ARCHS)
487
- set (ARCHS i386)
488
- set (APPLE_TARGET_TRIPLE_INT i386-apple -watchos${DEPLOYMENT_TARGET} -simulator)
488
+ if (XCODE_VERSION_INT VERSION_GREATER 10.0)
489
+ set (ARCHS x86_64)
490
+ set (APPLE_TARGET_TRIPLE_INT x86_64-apple -watchos${DEPLOYMENT_TARGET} -simulator)
491
+ else ()
492
+ set (ARCHS i386)
493
+ set (APPLE_TARGET_TRIPLE_INT i386-apple -watchos${DEPLOYMENT_TARGET} -simulator)
494
+ endif ()
489
495
else ()
490
496
set (APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT} -apple -watchos${DEPLOYMENT_TARGET} -simulator)
491
497
endif ()
@@ -497,6 +503,31 @@ elseif(PLATFORM_INT STREQUAL "SIMULATORARM64_WATCHOS")
497
503
else ()
498
504
set (APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT} -apple -watchos${DEPLOYMENT_TARGET} -simulator)
499
505
endif ()
506
+ elseif (PLATFORM_INT STREQUAL "SIMULATOR_WATCHOSCOMBINED" )
507
+ set (SDK_NAME watchsimulator)
508
+ if (MODERN_CMAKE)
509
+ if (NOT ARCHS)
510
+ if (XCODE_VERSION_INT VERSION_GREATER 12.0)
511
+ set (ARCHS arm64 x86_64)
512
+ set (CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchos*] "" )
513
+ set (CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "arm64 x86_64" )
514
+ set (CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchos*] "" )
515
+ set (CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "arm64 x86_64" )
516
+ set (APPLE_TARGET_TRIPLE_INT arm64_x86_64-apple -watchos${DEPLOYMENT_TARGET} -simulator)
517
+ else ()
518
+ set (ARCHS arm64 i386)
519
+ set (CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchos*] "" )
520
+ set (CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "i386" )
521
+ set (CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchos*] "" )
522
+ set (CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "i386" )
523
+ set (APPLE_TARGET_TRIPLE_INT arm64_i386-apple -watchos${DEPLOYMENT_TARGET} -simulator)
524
+ endif ()
525
+ else ()
526
+ set (APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT} -apple -watchos${DEPLOYMENT_TARGET} -simulator)
527
+ endif ()
528
+ else ()
529
+ message (FATAL_ERROR "Please make sure that you are running CMake 3.14+ to make the SIMULATOR_WATCHOSCOMBINED setting work" )
530
+ endif ()
500
531
elseif (PLATFORM_INT STREQUAL "SIMULATOR_VISIONOS" )
501
532
set (SDK_NAME xrsimulator)
502
533
if (NOT ARCHS)
@@ -1049,7 +1080,7 @@ set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
1049
1080
)
1050
1081
1051
1082
if (NAMED_LANGUAGE_SUPPORT_INT)
1052
- list (APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
1083
+ list (APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
1053
1084
CMAKE_OBJC_FLAGS
1054
1085
CMAKE_OBJC_DEBUG
1055
1086
CMAKE_OBJC_MINSIZEREL
@@ -1087,7 +1118,7 @@ IF(NOT DEFINED CMAKE_FIND_FRAMEWORK)
1087
1118
ENDIF (NOT DEFINED CMAKE_FIND_FRAMEWORK)
1088
1119
1089
1120
# Set up the default search directories for frameworks.
1090
- if (PLATFORM_INT MATCHES "^MAC_CATALYST" )
1121
+ if (PLATFORM_INT MATCHES "^MAC_CATALYST" )
1091
1122
set (CMAKE_FRAMEWORK_PATH
1092
1123
${CMAKE_DEVELOPER_ROOT} /Library/PrivateFrameworks
1093
1124
${CMAKE_OSX_SYSROOT_INT} /System /Library/Frameworks
0 commit comments