|
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