diff options
| author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2022-08-03 16:51:34 +0200 |
|---|---|---|
| committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2022-08-03 21:40:08 +0200 |
| commit | 6ec21881dd68dfd88dee03b11036c3c862ccbbab (patch) | |
| tree | 578575badfce68e188f609f02ae19386cfe756b0 /src | |
| parent | 3f450a6ba04ccfb14db7399305e54add172e4d81 (diff) | |
CMake: Override simulator architecture to x86_64 for Xcode generator
The simulator build of Qt for iOS is currently x86_64 only, instead
of universal builds with an arm64 slice as well, since we don't
support xcframeworks. This means we can't rely on Xcode's default
simulator arch settings, which on an Apple Silicon Mac will be
arm64.
Instead we override the simulator arch, like we do for qmake.
Pick-to: 6.4 6.3 6.2
Change-Id: I8b52389db1b83f4f9679c724bcde53b44dbc76f1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src')
| -rw-r--r-- | src/corelib/Qt6CoreMacros.cmake | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake index 5ec1ed13593..75f41702491 100644 --- a/src/corelib/Qt6CoreMacros.cmake +++ b/src/corelib/Qt6CoreMacros.cmake @@ -1223,6 +1223,32 @@ function(_qt_internal_generate_ios_info_plist target) set_target_properties("${target}" PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${info_plist_out}") endfunction() +function(_qt_internal_set_ios_simulator_arch target) + if(CMAKE_XCODE_ATTRIBUTE_ARCHS + OR QT_NO_SET_XCODE_ARCHS) + return() + endif() + + get_target_property(existing_archs + "${target}" XCODE_ATTRIBUTE_ARCHS) + if(NOT existing_archs MATCHES "-NOTFOUND") + return() + endif() + + if(NOT x86_64 IN_LIST QT_OSX_ARCHITECTURES) + return() + endif() + + if(CMAKE_OSX_ARCHITECTURES AND NOT x86_64 IN_LIST CMAKE_OSX_ARCHITECTURES) + return() + endif() + + set_target_properties("${target}" + PROPERTIES + "XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*]" + "x86_64") +endfunction() + function(_qt_internal_finalize_apple_app target) # Shared between macOS and iOS apps _qt_internal_set_xcode_development_team_id("${target}") @@ -1240,6 +1266,7 @@ function(_qt_internal_finalize_ios_app target) _qt_internal_set_xcode_bitcode_enablement("${target}") _qt_internal_handle_ios_launch_screen("${target}") _qt_internal_generate_ios_info_plist("${target}") + _qt_internal_set_ios_simulator_arch("${target}") endfunction() function(_qt_internal_finalize_macos_app target) |
