summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-09-21 15:16:21 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-09-21 14:51:33 +0000
commitac43986aa5d07685cc61a5dbc00d76abf0cd1017 (patch)
tree05a23f010c81c32267710b59a2a0321a0a7350ee /mkspecs
parent3b6ef98d7ac079a906b07483e92540f2ff9485a3 (diff)
Pass -arch when running toolchain configure test on Apple platforms
Clang doesn't automatically switch architecture just because we're passing an iPhoneOS sysroot. In the past this resulted in a warning about trying to link an x86_64 binary to arm64 libraries, but with Xcode 12 this is now a hard error. Fixes: QTBUG-86718 Pick-to: 5.15 Pick-to: 5.12 Change-Id: I7e9d2ca513d276029fc2a6cfe694a35fe41c39b3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/toolchain.prf4
1 files changed, 4 insertions, 0 deletions
diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
index e03c21dea2..ba01945fb1 100644
--- a/mkspecs/features/toolchain.prf
+++ b/mkspecs/features/toolchain.prf
@@ -182,6 +182,10 @@ isEmpty($${target_prefix}.INCDIRS) {
# UIKit simulator platforms will see the device SDK's sysroot in
# QMAKE_DEFAULT_*DIRS, because they're handled in a single build pass.
darwin {
+ # Clang doesn't pick up the architecture from the sysroot, and will
+ # default to the host architecture, so we need to manually set it.
+ cxx_flags += -arch $$QMAKE_APPLE_DEVICE_ARCHS
+
uikit:macx-xcode: \
cxx_flags += -isysroot $$sdk_path_device.value
else: \