summaryrefslogtreecommitdiffstats
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* wasm: add simd supportLorn Potter2021-10-051-0/+8
| | | | | | | | | | | | | | | | | | Emscripten only supports SSE1, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, and 128-bit AVX instruction sets at this time. https://emscripten.org/docs/porting/simd.html Browsers might need to enable simd support in the advanced configurations about: config or chrome:flags Enable by configuring Qt with -sse2 Pick-to: 6.2 Fixes: QTBUG-63924 Change-Id: Ifeafae20e199dee0d19689802ad20fd0bd424ca7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* QDateTime: fix build with MinGW: need unistd.h very earlyThiago Macieira2021-09-291-0/+2
| | | | | | | | | | | qobject.h has #include <chrono>, which #includes <ctime>, which includes <time.h>. datetime.cpp:2621:23: error: 'localtime_r' was not declared in this scope; did you mean 'localtime_s'? Pick-to: 6.2 Change-Id: I2bbf422288924c198645fffd16a922719c4ce7d4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* qmake: Print error when iOS simulator device could not be foundJoerg Bornemann2021-09-221-1/+5
| | | | | | | | | | | | | | | | | A qmake project built for iOS-simulator tries to find suitable devices in xcodebuild.mk. If no suitable device could be found, the build failed with xcodebuild: error: missing value for key 'id' of option 'Destination' which isn't that helpful. Detect the situation in xcodebuild.mk and print an error message. Pick-to: 5.15 6.2 Fixes: QTBUG-77222 Change-Id: I02f9ab0dd7b8f234bcd8d0ea387927f31ca092e0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Android: Fix path of qmake_qmake_immediate.qrc in single_abi with qmakeAssam Boudjelthia2021-09-201-2/+8
| | | | | | | | | | | | | With single_android_abi, the file qmake_qmake_immediate.qrc is laid directly into the root of the build dir and not under different abis dirs. Pick-to: 6.2.0 6.2 5.15 Fixes: QTBUG-87669 Fixes: QTBUG-95202 Fixes: QTBUG-95235 Change-Id: Ie13cccdf2fc323e8fd725a94f3aacab465fa1287 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Remove conditioning on Android embeddedEdward Welbourne2021-09-171-1/+1
| | | | | | | | It is no longer handled separately from Android. This effectively reverts commit 6d50f746fe05a7008b63818e77784dd0c99270a1 Change-Id: Ic2d75b8c5a09895810913311ab2fe3355d4d2983 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Fix .qm file name calculation in lrelease.prfJoerg Bornemann2021-09-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | The following snippet in a .pro file resulted in a build error: CONFIG += lrelease embed_translations TRANSLATIONS += foo.bar_de.ts The variable QM_FILES was incorrectly calculated. The extra compiler that calls lrelease uses QMAKE_FILE_IN_BASE, which wraps QFileInfo::completeBaseName(), resulting in "foo.bar_de.qm". The $$replace call that calculates the .qm file name however, produces "foo.qm". Fix this mismatch by adjusting the regular expression to behave like QFileInfo::completeBaseName(). Pick-to: 5.15 6.2 Fixes: QTBUG-79016 Change-Id: I545d1b58170cd5229007faf31c9b2c6f70ff75a6 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* xcode: Allow automatic provisioning updates when calling xcodebuildTor Arne Vestbø2021-09-091-0/+4
| | | | | | | | | | | | | If automatic signing is enabled (which it is by default), then Xcode will happily set up the required profile if you open and run the application in Xcode. To get the same behavior for xcodebuild, and hence from Creator, since it's calling our Makefile wrapper around xcodebuild, we need to pass the -allowProvisioningUpdates flag to xcodebuild. Fixes: QTBUG-95565 Pick-to: 6.2 6.2.0 5.15 Change-Id: I9325bb228bdfb4d07658eff8f41798f7b5a6955c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update Android default SDK from 29 to 30Juha Vuolle2021-08-272-2/+2
| | | | | | | | | | | By the time of Qt 6.2 release all new apps targeting Play store must target API level 30 (Android 11) or above (starting in 08/2021 for new apps and 11/2021 for existing apps' updates). Pick-to: 6.2 5.15 Task-number: QTBUG-94451 Change-Id: Id7fa2fd62899a7259e365c917292c6c3ac0d2b0d Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* wasm: add new event dispatcher implementationMorten Johan Sørvig2021-08-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add QEventDispatcherWasm to QtCore. The event dispatcher supports managing event queue wakeups and timers, both for the main thread or for secondary threads. Blocking in processEvents() (using QEventLoop::WaitForMoreEvents) is supported when running on a secondary thread, or on the main thread when Qt is built with Emscripten’s asyncify support. Code is shared for all both modes as far as possible, with breakout functions which handle main and secondary thread as well as asyncify specifics,. Some functions like wakeUp() can be called from any thread, and needs to take the calling thread into consideration as well. The current asyncify implementation in Emscripten is restricted to one level of suspend, and this restriction carries over to Qt as well. In practice this means we support one level of exec()-like API. Note that this commit does not _enable_ use of the new event dispatcher. This will be done in separate commits. Task-number: QTBUG-76007 Task-number: QTBUG-64020 Change-Id: I77dc9ba34bcff59ef05dd23a46dbf1873cbe6780 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* qmake: Add support for C17/C18Joerg Bornemann2021-08-263-1/+4
| | | | | | | | | | | | Make it possible to select the C17/C18 standard with CONFIG += c17 or CONFIG += c18 Pick-to: 6.2 5.15 Fixes: QTBUG-96026 Change-Id: I719d22366c3efda009118d58ead173a25ed285c0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake: Make it possible to set CONFIG += c11 with MSVC 19.28Joerg Bornemann2021-08-261-0/+6
| | | | | | | | | | | | The compiler that comes with Visual Studio 16.8 added support for setting the C11 standard with the /std:c11 flag. Add the respective version check in msvc-version.conf and set MSVC_VER and QMAKE_CFLAGS_C11 accordingly. Pick-to: 6.2 5.15 Task-number: QTBUG-89296 Change-Id: I29b54ee073a765918f5aa4ebb081b97c5cf471d7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Check QMake support for building apps on INTEGRITYTatiana Borisova2021-08-261-0/+4
| | | | | | | | | -Add integrity QMAKE_* paths for SA8155P device Task-number: QTBUG-95671 Pick-to: 6.2 Change-Id: Ife60cf2db74bfd0c47103e2dd6aaa73609d856d2 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
* Fix location of qtattributionsscannerKai Köhne2021-07-141-1/+1
| | | | | | | | Amends f00c63093b0313f Pick-to: 6.2 Change-Id: I3be5f7d3826c1a84bad0ecf947eecc0a351685c6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix qmlimportscanner path for android deployment settingsIvan Solovev2021-06-281-1/+1
| | | | | | | Fixes: QTBUG-94527 Pick-to: 6.2 Change-Id: Iffd259caecfdfe6860ba1ab9cb21d2f164060b9a Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Fix linking of debug projects against release Qt on Darwin platformsJoerg Bornemann2021-06-251-18/+25
| | | | | | | | | | | | | | | | | | | | Consider a release-only, non-framework Qt build on macOS. Building a debug user project would fail, because qmake tried to link against *_debug.dylib and *_debug.a libraries. Building a debug user project that uses QtUiTools against a release-only framework-build Qt posed the same problem. QMake tried to link against the libQt5UiTools_debug.a, which does not exist. Fix this by maintaining a list of library file candidates, and use the first existing one (or just the first one if none exists). This favors the library matching the user project's configuration but falls back to the release version of the library if necessary. Fixes: QTBUG-81251 Pick-to: 6.2 Change-Id: I8d641104718edb16500c6d6e3994e736fa5ddcf4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* macOS: Respect QMAKE_APPLE_DEVICE_ARCHS by building for all those archsTor Arne Vestbø2021-06-232-8/+20
| | | | | | | | | | If QMAKE_APPLE_DEVICE_ARCHS is not set, we pick up the available archs based on what Qt was built with (QT_ARCS), but only build the active arch. Pick-to: 6.2 Change-Id: I83273f878022af34a3a0d0eeae8b11d781f78c49 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: don’t set exit_runtimeMorten Sørvig2021-06-231-1/+0
| | | | | | | | | | | | | | | | | | Go with Emscripten’s default of not shutting down on main() exit; this allows for writing main() in such a way that avoids the exec() workaround. Existing main() implementations (which do use the exec() workaround) do not shut down Qt cleanly anyway, so we gain little by shutting down the Emscripten runtime. Applications can set this flag if they do want to shut down on main() exit: LFAGS += -s EXIT_RUNTIME=1 Change-Id: I52e1cc2bc907d1d2146822713e39b7610db3f95b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: enable MODULARIZE option and set EXPORT_NAMEMorten Sørvig2021-06-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make Emscripten generate a global constructor function ("createQtAppInstance()") instead of a global javascript module object. This enables more fine-grained control over module instantiation; previously the module object would be created when the runtime javascript was evaluated, and the number of emscripten module/instances was limited to one per page. Set EXPORT_NAME to “createQtAppInstance” which avoids collisions with other non-Qt Emscripten modules on the same page. A further improvement would be to include the app name in EXPORT_NAME, but this is not done at this time. Update the code in qtloader.js to call the constructor function instead of working on a global module object. The qtloader.js API is functional before the wasm and Emscripten modules have been instantiated; store properties and forward to the Emscripten module when it's created. Change-Id: I12c49a5b9a4a932bbc46fcc5e5ecc453fd0fe7f0 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* qmake: Enable response files for WASM on WindowsJoerg Bornemann2021-06-151-0/+2
| | | | | | | | | | | This fixes the "Command line is too long" error when building a project with many object files for WASM on Windows. Fixes: QTBUG-94032 Pick-to: 6.2 6.1 5.15 Change-Id: I29251da9795b267c968da86617da0311bf882a64 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Allow building Qt examples with qmake in-sourceKai Köhne2021-06-121-9/+1
| | | | | | | | | | | This reverts commit c686e885c004a48c90cff300c0ad1e817e43fb99 and commit d64abf8166d362b0fdc34c7f21aa32641063c01b. We don't feature .qmake.cache/.qmake.super files anymore in the source directory, so there's no problem anymore. Change-Id: Ib820a109fbfbad70d85b0f14ef72915882217ca3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qmake: Switch to using Xcode's new build systemTor Arne Vestbø2021-06-081-2/+0
| | | | | | | | | | | | | | | | | Now that inputs (81152194) and outputs (3f0858ed) are explicitly set for the preprocess stage we can enable the new build system. Using the legacy build system will produce a build error in Xcode 13, but the build will succeed: error: The Legacy Build System will be removed in a future release. You can configure the selected build system and this deprecation message in File > Project Settings. Fixes: QTBUG-71035 Pick-to: 6.1 5.15 5.12 Change-Id: I108d2103872255d10de2ff5161eef892065da1c4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake: Pick default architecture on macOS based on unameTor Arne Vestbø2021-05-211-6/+12
| | | | | | | | | | | | | | | | | | | | | | | When dealing with a universal build of Qt, we would end up using the QT_ARCH as the architecture for user projects, but this architecture is always the primary one that Qt was configured with. Instead of relying on QT_ARCH, we start writing QT_ARCHS (plural) to qconfig.pri, based on CMAKE_OSX_ARCHITECTURES, and then use that to initialize QMAKE_APPLE_DEVICE_ARCHS. We then resolve the active arch using uname -m, matching what CMake does. We still feed all the available architectures to the Makefile or Xcode project, so that the user can build for any of the available architectures without needing a reconfigure. Fixes: QTBUG-93760 Change-Id: I0d338241ba4d944ca36d85371e9c4df7dbc4f269 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Move qtwaylandscanner to libexecKai Köhne2021-05-111-1/+1
| | | | | | Task-number: QTBUG-88791 Change-Id: I9703ba73ec5cee11b000d84346d4f8d00c179724 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Move qmlimportscanner to libexecKai Köhne2021-05-111-1/+1
| | | | | | Task-number: QTBUG-88791 Change-Id: I71150af4965458225e7bbbd72ffc4f60c6854625 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* WASM: Don’t set “-g4” by default for qmake buildsMorten Sørvig2021-04-271-6/+18
| | | | | | | | | This increases link time significantly; instead set "-g4" or the new "-gsource-map" only if source maps are enabled. Change-Id: Ibe2d438d48e9ae2fce5f79d4e8a9f17c01cf2485 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Cleanup leftover QWSTasuku Suzuki2021-04-142-4/+0
| | | | | | | QWS is replaced with QPA in Qt5 Change-Id: Iccec38e55ae23a27ebecd8010e1df7bba8aa5a33 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Merge integration refs/builds/qtci/dev/1617809473Qt CI Bot2021-04-071-6/+4
|\
| * Fix condition that adds resources for each Android ABIAlexey Edelev2021-04-071-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If we already have the list of Android ABI in BUILDS, it's not necessary to generate extra resource while Qt build. Amends: 58556afb6960b442f88649b550aaec8e1a04338b Pick-to: 6.0 Pick-to: 6.1 Pick-to: 5.15 Fixes: QTBUG-88031 Change-Id: I344efe6c477461659a360281da59c4abeae18fc2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge integration refs/builds/qtci/dev/1617805866Qt CI Bot2021-04-071-1/+1
|\ \ | |/ |/|
| * Only embed launch screen when building an appChristoph Keller2021-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | Xcode's new build system checks duplicated entries when building. Qmake wants to embed the launch screen for all types of configurations (static libraries etc.) which makes Xcode bail out with "Multiple commands produce LaunchScreen.storyboard". Pick-to: 6.0 6.1 5.15 5.12 Task-number: QTBUG-71035 Change-Id: I5c028e687f16e046b12156c1a8a89540deba4d3b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Remove last trace of licheckKai Köhne2021-04-071-15/+0
|/ | | | | | | | | | Since we don't feature it for CMake, there's little point in keeping it for qmake. Pick-to: 6.1 Change-Id: I7f17d2536510c0b94dca9767036ceab7ec08e1d8 Reviewed-by: Tino Pyssysalo <tino.pyssysalo@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* wasm: add cmake build supportLorn Potter2021-04-012-18/+18
| | | | | | | | | | | | | | | | A few configure defines get changed: QMAKE_WASM_PTHREAD_POOL_SIZE is now QT_WASM_PTHREAD_POOL_SIZE QMAKE_WASM_TOTAL_MEMORY is now QT_WASM_INITIAL_MEMORY QMAKE_WASM_SOURCE_MAP_BASE is now QT_WASM_SOURCE_MAP_BASE device-option EMSCRIPTEN_ASYNCIFY=1 is QT_EMSCRIPTEN_ASYNCIFY=1 To create source maps for debugging. use device-option QT_WASM_SOURCE_MAP=1 Task-number: QTBUG-78647 Change-Id: If9f30cd7fb408c386d6d69b5f7b1beecf1ab44b5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake: Improve error message when detecting macOS platform SDK upgradeTor Arne Vestbø2021-03-192-4/+11
| | | | | | | Pick-to: 6.1 6.0 5.15 Task-number: QTBUG-85546 Change-Id: I2bce9d22ad826fa73fa4dbfd03c9b1d404c57859 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix a typo in resources_functions.prfTasuku Suzuki2021-03-161-1/+1
| | | | | Change-Id: I38b81ba63612bd90b0a70f6b0c468667581b3c11 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge "Android: use libexec path for rcc for Android deployment settings file"Assam Boudjelthia2021-03-111-1/+1
|\
| * Android: use libexec path for rcc for Android deployment settings fileAssam Boudjelthia2021-03-111-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-88791 Pick-to: 6.1 Change-Id: Ie34278496e0c23a8301e7ab0f2e33e36f393d1d8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Bump Apple platform minimum versionsAlexandru Croitor2021-03-104-6/+4
|/ | | | | | | | | | | | | | | | | | | | | | Includes both minimum deployment targets and minimum sdk versions. As per supported Apple platforms versions which was done in qt/qtdoc at 8807fdedce29cbbd7662fcd745234da30eace3fb For Qt for iOS 6.0.x we only bump the minimum deloyment target because applications seem to crash with iOS 12.4+, and it's better to have a build error than a runtime error. The minimum required sdk will not be bumped for 6.0.x, so we don't accidentally break someone's existing build, given that 6.0 is already released. Pick-to: 6.1 Task-number: QTCREATORBUG-23574 Change-Id: I3046384164f2d7fdbd0cfd16dcb85e0d60bc56ce Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move syncqt.pl to libexecJoerg Bornemann2021-03-041-1/+1
| | | | | | | | | | | | | To not disturb the qmake build we kept syncqt.pl in <src>/bin but installed it to libexec. This is not necessary anymore. This also removes the need for having syncqt.pl in both, bin and libexec in the build dir of qtbase. Pick-to: 6.1 Fixes: QTBUG-91076 Change-Id: I44b014ea41e3f00c420e02fd5c76f11169340b8c Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Fix qmake's metatype generation feature after moving moc to libexecJoerg Bornemann2021-02-251-1/+1
| | | | | | | | This commit amends 1f30bcf33618ca39c47dc1058529b55635e30aef. Pick-to: 6.1 Change-Id: I677bd75bffddab6d764108e4fb2826e01c9dcb07 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Move build tools to libexec instead of the bin dirJoerg Bornemann2021-02-236-7/+24
| | | | | | | | | | | | | | [ChangeLog][Build System] Tools that are called by the build system and are unlikely to be called by the user are now installed to the libexec directory. This is a step towards easier co-installability of different Qt versions. Pick-to: 6.1 Task-number: QTBUG-88791 Change-Id: Id19575b5ba27795f7715e4ea6a09391b26dd4942 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* qmake: Introduce QT_HOST_LIBEXECS propertyJoerg Bornemann2021-02-181-1/+2
| | | | | | | | | This will be used to access host tools that are installed in ${prefix}/libexec instead of ${prefix}/bin. Pick-to: 6.1 Change-Id: I36c4b5736330f8229d267a117c65d55cd5e12758 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Fix the qmake error when building with qtquickcompiler for iOSAlexey Edelev2021-02-181-3/+5
| | | | | | | | | | | | | | | Fix condition when adding qmake_immediate to resources. This condition was wrongly positive in any non-android case, but also had to check for BUILD emptiness or build_pass. This cause issue because qmake_qmake_immediate was added to the RESOURCES variable earlier, than actually generated. Fixes: QTBUG-88031 Pick-to: 6.0 Pick-to: 6.1 Pick-to: 5.15 Change-Id: I38dad858a7e81ab709e622ec24baa8f9b80970fa Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix qmake_qmake_immediate path for AndroidAlexey Edelev2021-02-151-1/+1
| | | | | | | | | | | Add missed RCC_DIR to the qmake_qmake_immediate.qrc path, when generating android deployment settings. Fixes: QTBUG-90969 Pick-to: 6.0 Pick-to: 6.1 Change-Id: If4959581fcc153d9c19d178233297fc7b440b2f7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Android: set minimum recommended android SDK to 29Assam Boudjelthia2021-02-131-1/+1
| | | | | | | | | | | comply with the api version used by default with androiddeployqt and in docs. Google play also requires api 29 as minimum. Task-number: QTBUG-90943 Pick-to: 6.1 6.0 Change-Id: I05e2a90b4d7f2120b0198e3fb7b8b1b2398eba93 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Bump copyright year to 2021Kai Köhne2021-01-251-1/+1
| | | | | | Change-Id: I18a9c2de391ca51655148b2e3cc9abdfbb8ddbcf Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* macOS: Only check SDK major version for compatibilityTor Arne Vestbø2021-01-201-2/+2
| | | | | | | | | The macOS SDKs now follow the same major/minor version scheme as iOS, where the major version is bumped for each OS release. Pick-to: 6.0 5.15 Change-Id: I021421a9c58bb1ae64bc0c63b4215f14e4ada358 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Don't hard-code x86_64 as the architecture when using qmakeTor Arne Vestbø2020-12-073-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qmake variable QMAKE_APPLE_DEVICE_ARCHS was added for iOS, to support universal builds, as the QT_ARCH is a single value. Since the qmake macOS builds are non-universal (at the moment), we remove the hard-coded value for QMAKE_APPLE_DEVICE_ARCHS on macOS, and let the normal architecture test resolve the arch, like on other platforms. To ensure that the following configuration tests are run with an -arch argument, we trigger a commit of the preliminary Qt configuration after running the architecture test. This is not strictly necessary, but makes it clearer what's going on during configure. The device_and_simulator configuration option was used by the iOS toolchain, and needed to be moved up in the configuration test order to not break later tests. The logic in mac/default_post.prf for both Xcode and Makefiles to add -arch flags was kept as is, based on the existing variable, to avoid too many changes to this logic. The logic in toolchain.prf was amended to make it clear and ensure that it only applies to iOS builds. macOS builds do not have this issue. Pick-to: 6.0 Pick-to: 5.15 Pick-to: 5.12 Change-Id: I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* MSVC: Enable control flow guard for release buildsYuhang Zhao2020-12-071-0/+9
| | | | | | | | | | | | | | | | | | This makes the applications and libraries more safe and won't cause any binary incompatibility. It's not supported for MSVC 2015, but since we only support MSVC 2019 or later in Qt6, it's safe to use this parameter. The "-guard:cf" parameter is supported by clang-cl and intel-cl as well, MinGW doesn't support it. [1] https://docs.microsoft.com/en-us/cpp/build/reference/guard-enable-control-flow-guard?view=msvc-160 [2] https://docs.microsoft.com/en-us/cpp/build/reference/guard-enable-guard-checks?view=msvc-160 Change-Id: I7b035b4b0f22617a7f3c067cddde0bed2e13dd1c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Change android target SDK version to 29Fabio Falsini2020-11-261-1/+1
| | | | | | | | | Play Store now accept only app with target SDK version set to 29 or above Pick-to: 6.0 Change-Id: If38f20c88fd6b0e6f29939cdf3d2eb793c0e1489 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* macOS: Upgrade supported SDK to 11.0Tor Arne Vestbø2020-11-201-1/+1
| | | | | | | | | | | | Testing seems to indicate building against the 11.0 SDK works fine, and doesn't opt in to any new behaviors on Big Sur that Qt isn't ready for. Pick-to: 5.15 Pick-to: 5.12 Change-Id: I7da11cf25f2be7443c94ba7a4e9cd99dc1034455 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>