summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt
diff options
context:
space:
mode:
authorGregor Jasny <gjasny@googlemail.com>2020-08-08 12:34:09 (GMT)
committerGregor Jasny <gjasny@googlemail.com>2020-08-08 13:22:12 (GMT)
commit5852b8867f77c17ae4c905c4f41db850f8d53d47 (patch)
tree35a06ee9baded35e32a053cf56922ae89edd21a4 /Help/prop_tgt
parent79098d23eb2ac54ad8c47e27cdb614d73a64282c (diff)
downloadCMake-5852b8867f77c17ae4c905c4f41db850f8d53d47.zip
CMake-5852b8867f77c17ae4c905c4f41db850f8d53d47.tar.gz
CMake-5852b8867f77c17ae4c905c4f41db850f8d53d47.tar.bz2
CMakeIOSInstallCombined: Enforce disjoint architecture sets
Starting with Xcode 12 the arm64 architecture is supported as an iOS device as well as simulator architecture. But the fat macho file format does not distinguish by SDK, only by architecture. That makes lipo (rightfully) complain that it cannot add both architectures to a single file. To work around we make sure that both SDKs are built for a disjoint set of architectures. If an architecture is present for both SDKs we prefer the currently configured one. The log output has been extended to reflect that: ``` [iOS combined] Architectures (iphoneos): arm64 arm64e armv7 armv7s [iOS combined] Architectures (iphonesimulator): arm64 arm64e i386 x86_64 [iOS combined] Architectures (iphonesimulator) after pruning: i386 x86_64 ```
Diffstat (limited to 'Help/prop_tgt')
-rw-r--r--Help/prop_tgt/IOS_INSTALL_COMBINED.rst6
1 files changed, 6 insertions, 0 deletions
diff --git a/Help/prop_tgt/IOS_INSTALL_COMBINED.rst b/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
index 23a86e6..92d60dc 100644
--- a/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
+++ b/Help/prop_tgt/IOS_INSTALL_COMBINED.rst
@@ -10,4 +10,10 @@ either be built with the device SDK or the simulator SDK depending on the SDK
set. But if this property is set to true then the target will at install time
also be built for the corresponding SDK and combined into one library.
+.. note::
+
+ If a selected architecture is available for both: device SDK and simulator
+ SDK it will be built for the SDK selected by :variable:`CMAKE_OSX_SYSROOT`
+ and removed from the corresponding SDK.
+
This feature requires at least Xcode version 6.