|
81 | 81 | # Note: The build argument "MACOSX_DEPLOYMENT_TARGET" can be used to control min-version of macOS |
82 | 82 | # MAC_CATALYST_ARM64 = Build for Apple Silicon macOS with Catalyst support (iOS toolchain on macOS). |
83 | 83 | # Note: The build argument "MACOSX_DEPLOYMENT_TARGET" can be used to control min-version of macOS |
| 84 | +# MAC_CATALYST_UNIVERSAL = Combined build for x86_64 and Apple Silicon on Catalyst. |
84 | 85 | # |
85 | 86 | # CMAKE_OSX_SYSROOT: Path to the SDK to use. By default this is |
86 | 87 | # automatically determined from PLATFORM and xcodebuild, but |
|
123 | 124 | # MAC_UNIVERSAL = x86_64 arm64 |
124 | 125 | # MAC_CATALYST = x86_64 |
125 | 126 | # MAC_CATALYST_ARM64 = arm64 |
| 127 | +# MAC_CATALYST_UNIVERSAL = x86_64 arm64 |
126 | 128 | # |
127 | 129 | # NOTE: When manually specifying ARCHS, put a semi-colon between the entries. E.g., -DARCHS="armv7;arm64" |
128 | 130 | # |
@@ -166,7 +168,7 @@ list(APPEND _supported_platforms |
166 | 168 | "WATCHOS" "WATCHOSCOMBINED" "SIMULATOR_WATCHOS" "SIMULATORARM64_WATCHOS" |
167 | 169 | "MAC" "MAC_ARM64" "MAC_UNIVERSAL" |
168 | 170 | "VISIONOS" "SIMULATOR_VISIONOS" "VISIONOSCOMBINED" |
169 | | - "MAC_CATALYST" "MAC_CATALYST_ARM64") |
| 171 | + "MAC_CATALYST" "MAC_CATALYST_ARM64" "MAC_CATALYST_UNIVERSAL") |
170 | 172 |
|
171 | 173 | # Cache what generator is used |
172 | 174 | set(USED_CMAKE_GENERATOR "${CMAKE_GENERATOR}") |
@@ -230,7 +232,7 @@ if("${contains_PLATFORM}" EQUAL "-1") |
230 | 232 | endif() |
231 | 233 |
|
232 | 234 | # Check if Apple Silicon is supported |
233 | | -if(PLATFORM MATCHES "^(MAC_ARM64)$|^(MAC_CATALYST_ARM64)$|^(MAC_UNIVERSAL)$" AND ${CMAKE_VERSION} VERSION_LESS "3.19.5") |
| 235 | +if(PLATFORM MATCHES "^(MAC_ARM64)$|^(MAC_CATALYST_ARM64)$|^(MAC_UNIVERSAL)$|^(MAC_CATALYST_UNIVERSAL)$" AND ${CMAKE_VERSION} VERSION_LESS "3.19.5") |
234 | 236 | message(FATAL_ERROR "Apple Silicon builds requires a minimum of CMake 3.19.5") |
235 | 237 | endif() |
236 | 238 |
|
@@ -275,7 +277,7 @@ if(NOT DEFINED DEPLOYMENT_TARGET) |
275 | 277 | elseif(PLATFORM STREQUAL "MAC_UNIVERSAL") |
276 | 278 | # Unless specified, SDK version 11.0 (Big Sur) is used by default as minimum target version for universal builds. |
277 | 279 | set(DEPLOYMENT_TARGET "11.0") |
278 | | - elseif(PLATFORM STREQUAL "MAC_CATALYST" OR PLATFORM STREQUAL "MAC_CATALYST_ARM64") |
| 280 | + elseif(PLATFORM STREQUAL "MAC_CATALYST" OR PLATFORM STREQUAL "MAC_CATALYST_ARM64" OR PLATFORM STREQUAL "MAC_CATALYST_UNIVERSAL") |
279 | 281 | # Unless specified, SDK version 13.0 is used by default as the minimum target version (mac catalyst minimum requirement). |
280 | 282 | set(DEPLOYMENT_TARGET "13.1") |
281 | 283 | else() |
@@ -553,6 +555,13 @@ elseif(PLATFORM_INT STREQUAL "MAC_UNIVERSAL") |
553 | 555 | endif() |
554 | 556 | string(REPLACE ";" "-" ARCHS_SPLIT "${ARCHS}") |
555 | 557 | set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-macosx${DEPLOYMENT_TARGET}) |
| 558 | +elseif(PLATFORM_INT STREQUAL "MAC_CATALYST_UNIVERSAL") |
| 559 | + set(SDK_NAME macosx) |
| 560 | + if(NOT ARCHS) |
| 561 | + set(ARCHS "x86_64;arm64") |
| 562 | + endif() |
| 563 | + string(REPLACE ";" "-" ARCHS_SPLIT "${ARCHS}") |
| 564 | + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}-macabi) |
556 | 565 | else() |
557 | 566 | message(FATAL_ERROR "Invalid PLATFORM: ${PLATFORM_INT}") |
558 | 567 | endif() |
@@ -761,7 +770,7 @@ set(APPLE ON CACHE BOOL "") |
761 | 770 | if(PLATFORM STREQUAL "MAC" OR PLATFORM STREQUAL "MAC_ARM64" OR PLATFORM STREQUAL "MAC_UNIVERSAL") |
762 | 771 | set(IOS OFF CACHE BOOL "") |
763 | 772 | set(MACOS ON CACHE BOOL "") |
764 | | -elseif(PLATFORM STREQUAL "MAC_CATALYST" OR PLATFORM STREQUAL "MAC_CATALYST_ARM64") |
| 773 | +elseif(PLATFORM STREQUAL "MAC_CATALYST" OR PLATFORM STREQUAL "MAC_CATALYST_ARM64" OR PLATFORM STREQUAL "MAC_CATALYST_UNIVERSAL") |
765 | 774 | set(IOS ON CACHE BOOL "") |
766 | 775 | set(MACOS ON CACHE BOOL "") |
767 | 776 | elseif(PLATFORM STREQUAL "VISIONOS" OR PLATFORM STREQUAL "SIMULATOR_VISIONOS" OR PLATFORM STREQUAL "VISIONOSCOMBINED") |
|
0 commit comments