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>
This commit is contained in:
Tor Arne Vestbø 2020-09-21 15:16:21 +02:00
parent 3b6ef98d7a
commit ac43986aa5

View File

@ -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: \