summaryrefslogtreecommitdiffstats
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* CMake: disable the attempt to force SIMD on iOS simulator buildsThiago Macieira2022-06-271-9/+0
| | | | | | | | | | | This will stop working with the next commit, which merges all basic x86 SIMD intrinsics into one configure test. As a result, linking almost anything graphical on iOS (which is almost everything) causes the linker to fail with undefined references to SIMD-optimized versions that didn't get compiled. Change-Id: Ib42b3adc93bf4d43bd55fffd16c288f4104a6ccc Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* wasm: Optimize use of openglesLorn Potter2022-06-221-3/+1
| | | | | | | | | | | | | | - USE_WEBGL2 is depreciated, Emscripten now uses MAX_WEBGL_VERSION - Optimize and remove use of emulated ES2 and ES3, which means only use WebGL friendly subset. Users can add USE_ES3=1 and USE_ES2=1 to the final linker arguments for those respective versions in order to enable using glDrawArrays and glDrawElements with unbound buffers. See https://emscripten.org/docs/porting/multimedia_and_graphics/OpenGL-support.html Pick-to: 6.4 Change-Id: I11ae359966964b3e7aa6e61ccc714c2bfbf61f96 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* qmake/MinGW: Install separate debug info of DLLs next to the DLLJoerg Bornemann2022-06-211-1/+5
| | | | | | | | | | | | | | | | ...instead of next to the import library. If separate_debug_info is enabled then we would create an install rule that puts the .dll.debug file next to the .a file. GDB however expects the file to be next to the .dll. Fix the installation rule in separate_debug_info.prf accordingly. This affects the MinGW packages of Qt 5.15 and user projects targeting MinGW. Pick-to: 5.15 6.2 6.3 6.4 Fixes: QTBUG-86790 Change-Id: If91c356e7e7f7f4330ebc43691e414929f9beb4b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: don't enable specialHTMLTargets by defaultMorten Sørvig2022-06-011-1/+1
| | | | | | | | | | | | | | | | | | Adding specialHTMLTargets to EXPORTED_RUNTIME_METHODS carries the obligation to actually use it as well; failing to do so makes Emscripten stop with a reference error on startup. However, we can't guarantee that Qt will use it in all cases. The current usage depends on QGuiApplication being used. Application code could be using QCoreApplication, or no application object at all. Detect if specialHTMLTargets is present instead, and then enable the code paths which uses it if that's the case. This means that apps which want to use e.g. multiple browser windows can opt into support by making sure EXPORTED_RUNTIME_METHODS contains specialHTMLTargets. Change-Id: I81105aa01946602fcf593f170e305d7dc9bad3be Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: update emscripten to 3.1.10Lorn Potter2022-05-271-1/+1
| | | | | | | | Qt 6.4 will require Emscripten 3.1.10 Change-Id: I34d6288489b6674f6fd75134dd1855ae931c79c2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: David Skoland <david.skoland@qt.io>
* qmake: iOS: Don't pass -fobjc-nonfragile-abi -fobjc-legacy-dispatchAlexandru Croitor2022-05-231-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to latest clang source code (llvm-14.0.3) non-fragile ABI is default for everything but i386 which means we can stop passing the -fobjc-nonfragile-abi option. See https://github.com/llvm/llvm-project/blob/llvmorg-14.0.3/clang/lib/Driver/ToolChains/Darwin.h#L245 This gets rid of the following warning when building a qmake project for iOS, while targeting the iOS simulator: clang: warning: argument unused during compilation: '-fobjc-nonfragile-abi' [-Wunused-command-line-argument It only happens for the simulator case because Xcode adds the -fobjc-abi-version=2 option, thus the qmake one gets ignored. As a drive-by also remove the usage of the -fobjc-legacy-dispatch option. According to clang sources it should be implicitly used on iOS. See https://github.com/llvm/llvm-project/blob/llvmorg-14.0.3/clang/include/clang/Basic/ObjCRuntime.h#L100 Amends d788f636691df5cae59d44a3828a0ddd58c343d0 Pick-to: 6.2 6.3 Fixes: QTBUG-103001 Change-Id: I06f8e46e40a1f04c5bbc4f177afa035e525dfed6 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Ensure proper quoting when calling otool in objc_namespace scriptTor Arne Vestbø2022-05-231-3/+3
| | | | | | | Pick-to: 6.2 6.3 5.15 Change-Id: I0c7fc40d321277103f6e80f221884cd87df6f930 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-16122-4627/+243
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* wasm: enable WASM_BIGINTMorten Sørvig2022-05-121-1/+2
| | | | | | | | | | | | | | | | | | | JavaScripts's BigInt feature provides support for arbitrary-precision integers. This makes it possible to represent 64-bit integers; the standard JS Number type supports 32-bit integers only (or more accurately 53-bit integers - see Number.MAX_SAFE_INTEGER). Enable WASM_BIGINT which makes Emscripten map int64_t and uint64_t to BigInt when interfacing with JavaScript code. This removes one of the conditions which enables wasm-emscripten-finalize. Task-number: QTBUG-103352 Change-Id: Ia70d599daaf34c92695f5a2b61665e0c237e6b95 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: David Skoland <david.skoland@qt.io>
* wasm: set ASSERTIONS level to default (1)Morten Sørvig2022-05-121-1/+0
| | | | | | | | | | This removes one of the conditions which enables wasm-emscripten-finalize. Task-number: QTBUG-103352 Change-Id: Id05db4b081dec360cdad2e611622e5baf09aeb23 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: David Skoland <david.skoland@qt.io>
* INTEGRITY: enable C99 globallyTatiana Borisova2022-05-111-0/+1
| | | | | | | | | | | | | PCRE 10.40 requires C99 now. While all GHS compiler versions we support in Qt 6 default to C99, GHS v2016.5.4, which we use in Qt 5.15, still defaults to C89, so set QMAKE_CFLAGS_C99 for that compiler. It doesn't hurt in Qt 6, but enables the updated PCRE in Qt 5.15. Pick-to: 6.3 6.2 5.15 Change-Id: I0a2d3254f80136210289a415ede7c2409b07af9b Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
* wasm: add specialHTMLTargets to EXPORTED_RUNTIME_METHODS for qmakeLorn Potter2022-04-211-1/+1
| | | | | | | | | | | The change 0ec75f4b9932a65f9ec7ec79eb6f2e04691cea3f missed adding specialHTMLTargets for qmake Also add warning to keep QtWasmHelpers in sync with qmake.conf Change-Id: Idb363e77f0cecb4f125d3cb4f7507899149a3bac Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* objc_namespace: Add support for universal binariesTor Arne Vestbø2022-04-191-19/+49
| | | | | | Pick-to: 6.2 6.3 5.15 Change-Id: If6a15c1ec27fe0e1a42764fbcd194d7806aecf0c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* objc_namespace: Fix misspelled argument for silencing outputTor Arne Vestbø2022-04-191-1/+1
| | | | | | | Pick-to: 6.2 6.3 5.15 Change-Id: I318a57e193bd10f8dbd2b22ab173a2940ba1dad9 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* objc_namespace: Update parsing logic to account for otool changesTor Arne Vestbø2022-04-191-14/+26
| | | | | | | | | | The textual output of otool in recent Xcode releases has changed. We now look for OBJC_CLASS_RO/OBJC_METACLASS_RO rather than class_ro_t. Pick-to: 6.2 6.3 5.15 Change-Id: I86192e91e55d8deb7e5c6790b327855fc0f7e594 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake: Add support for C++23Joerg Bornemann2022-04-055-5/+11
| | | | | | | | | | | | | | | Add the CONFIG value c++2b that represent the upcoming C++23 standard. Add QMAKE_CXXFLAGS_CXX2B and QMAKE_CXXFLAGS_GNUCXX2B. On MSVC, use /std:c++latest when c++2b is active. This fixes an issue with MSVC where c++latest implied the /std:c++20 compiler flag. Pick-to: 5.15 6.2 6.3 Fixes: QTBUG-102202 Change-Id: Ie00ee5793c1a649195013c8c19efc8d59cf0acc9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* qmake: Ignore stderr when determining the macOS SDK versionJoerg Bornemann2022-03-291-1/+1
| | | | | | | | | | | | | | If xcrun prints warnings or errors to stderr while determining the SDK version, they become part of the SDK version string. This then leads to a qmake error. Intentionally ignore stderr so that it is not treated as part of the SDK version. Pick-to: 5.15 6.2 6.3 Fixes: QTBUG-102066 Change-Id: I023296b430aac1407c970412c5cf1010bd81589b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* iOS: Use python3 for enumerating test target devicesAlexandru Croitor2022-03-181-1/+1
| | | | | | | | | macOS 12.3 removed python 2 Pick-to: 6.3 6.2 5.15 Fixes: QTBUG-101745 Change-Id: Ieace2623e838cf36a7a68186b0f729ff0f19299a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: remove compiler and linker warningsLorn Potter2022-03-171-18/+24
| | | | | | | | | | | INITIAL_MEMORY and PTHREAD_POOL_SIZE are linker flags only USE_PTHREADS is both linker and compiler arguments. Also increase default INITIAL_MEMORY Pick-to: 6.3 Change-Id: Id1998efbf1d6de901f404db7e988f6cafd547a39 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Enable -mno-direct-extern-access and ELF protected visibilityThiago Macieira2022-03-103-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The -mno-direct-extern-access tells the compiler and linker that references to symbols outside this ELF module mustn't be direct and must instead always go through the GOT or PLT (the PLT can additionally be disabled with -fno-plt). The ELF protected visibility tells the compiler and linker that this symbol is present in the dynamic symbol table as an export, but it cannot be interposed by another ELF module. This option is required for user code to link properly to Qt, otherwise they will get linker errors (assuming GNU binutils >= 2.39) or runtime failures (glibc >= 2.35). Both versions of glibc and binutils are older than GCC 12, so it's a safe assumption they are in use and downgrading the toolchain or libc is not supported. Adding this option to the compilation is assured for CMake and qmake-based projects. For example, all accessess to QCoreApplication::self in QtCore, after this change and with GCC 12 are relocation-free and direct: 000000000013ebf0 <QCoreApplicationPrivate::checkInstance(char const*)>: 13ebf0: cmpq $0x0,0x4f73d0(%rip) # 635fc8 <QCoreApplication::self> 13ebf8: setne %al 13ebfb: je a90fe <QCoreApplicationPrivate::checkInstance(char const*) [clone .cold]> 13ec01: ret Meanwhile, accesses to the same variable in other modules are indirect via the GOT: 66650: mov 0x876e1(%rip),%rax # edd38 <QCoreApplication::self@Qt_6> 66657: cmpq $0x0,(%rax) This replaces the -Bsymbolic and -Bsymbolic-functions (broken) functionality that Qt has been using or attempting to use since ~2006. See https://gitlab.com/x86-psABIs/x86-64-ABI/-/issues/8#note_606975128 Change-Id: Iad4b0a3e5c06570b9f5f571b26ed564aa0811e47 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* qmake: Enforce linker response files for WebAssembly on WindowsJoerg Bornemann2022-02-211-2/+1
| | | | | | | | | | | | Set QMAKE_REPONSEFILE_THRESHOLD to 1 in the WebAssembly mkspec to enforce the usage of linker response files. This fixes "The command line is too long." errors when linking user projects that depend on many libraries, for example projects using QtQuickControls2. Pick-to: 6.2 6.3 Fixes: QTBUG-100559 Change-Id: I2f03f0756c9f171bc7382940fa0f8079bdb75a00 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update MSVC qmake mkspecs to make -std:c++20 available for VS2019 16.11+Christian Heimlich2022-02-111-0/+8
| | | | | | | | | | Set QMAKE_CXXFLAGS_CXX2A variable to -std:c++20 while building projects with qmake and MSVC 16.11 or greater (_MSC_FULL_VER >= 192930133), when c++2a is specified in the project config. Pick-to: 6.2 6.3 Change-Id: If9a48d1ed16cb05c5cc01414ce8a4344e22438fe Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add c++20 alias for c++2a in qmake default mkspecs featuresChristian Heimlich2022-02-101-0/+1
| | | | | | | | | | Implemented as an alias to keep c++2a working and remain consistent with the way this was handled for the c++20 switch in cmake and the c++17 switch in qmake. Pick-to: 6.2 6.3 Change-Id: I9a5f6d6b3a3adec748cf7207ceaa6da98d053cdb Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Hurd: enable XOPEN largefile APIsPino Toscano2022-02-101-0/+1
| | | | | | | Hurd supports largefile, so enable it also in Qt. Change-Id: I8384ca2cb5c6250376916b6a890e1a873c0a0e96 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* INTEGRITY: Prevent deletion of virtual functionsKimmo Ollila2022-01-251-2/+2
| | | | | | | | | | | | | | | In release builds -olink also enables deletion of (unused) virtual functions. In some cases this can lead to application crashes when using loaders combined with timers. Prevent this by adding -no_uvfd option to release build flags. Task-number: QTBUG-99506 Pick-to: 6.3 6.2 5.15 Change-Id: I5c669e1e987f1fe912c9aca52ff82000125eed53 Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* qmake: Allow using Windows 10 API in MinGW qmake internal projectsAlexandru Croitor2022-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When trying to build qt3d examples with qmake and MinGW in the CI, compilation would fail with errors like In file included from C:/MINGW1120/mingw64/x86_64-w64-mingw32/include/windows.h:72, from C:\Users\qt\work\qt\qt3d\examples\qt3d\simple-cpp\main.cpp:63 include/winuser.h:2965:72: error: 'POINTER_INPUT_TYPE' was not declared in this scope What happens is that calling qmake on examples.pro loads qt3d/.qmake.conf, which then loads qt_build_config.prf which then defines the following definitions: mingw: DEFINES += WINVER=0x0601 _WIN32_WINNT=0x0601 This limits usage of Windows API up to Windows 7, with later APIs being unavailable. Most .qmake.conf files were removed in qt repos, but We didn't remove the .qmake.conf file (fb656c036db0549180073e133773862d08f6cd24) for qt3d because it's supposed to be buildable with CMake + Qt 6 as well as qmake + Qt 5. Bump the defines to the same Windows 10 version we use everywhere else when building with CMake. Amends 6652bf2353d807f724f398a15cb22c188830f57c Relates to d57a7c41712f8627a462d893329dc3f0dbb52d32 Relates to fb656c036db0549180073e133773862d08f6cd24 Pick-to: 6.2 6.3 Task-number: COIN-762 Task-number: QTBUG-92271 Change-Id: I833dfb6b0832d90a76d05ea14cd3807cb0d67ca9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* wasm: fix EXPORTED_RUNTIME_METHODS also for qmakeMorten Johan Sørvig2022-01-171-1/+1
| | | | | | | | | | Emscripten has deprecated the “EXTRA_” prefix. Pick-to: 6.3 Change-Id: I8cbfab933ba46e293f3bd6262cf0147c3c8978cf Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: David Skoland <david.skoland@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: don’t pass thread linker opts to compilerMorten Johan Sørvig2022-01-171-2/+3
| | | | | | | | | | | | Emscripten now warns against passing e.g. “ALLOW_MEMORY_GROWTH” as a compile option. Add EMCC_THREAD_CFLAGS, which gets compiler flags only. Pick-to: 6.3 Change-Id: Ifcf40c45ca75cfdfc98a12e6b9d47f34158b3407 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: modernize pthreads optionMorten Johan Sørvig2022-01-171-1/+1
| | | | | | | | | | | Use “-pthreads” instead of “-s USE_PTHREADS=1”. This is both a compile and linker option. Pick-to: 6.3 Change-Id: Iaf7cb4ec41577fe596c3e81fda05c03fe0074c08 Reviewed-by: David Skoland <david.skoland@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: remove emterpreter flagsMorten Johan Sørvig2022-01-171-7/+0
| | | | | | | | | | The “emterpreter” was the precursor to the current asyncify support, but is not in use any more. Pick-to: 6.3 Change-Id: I07ca04b61747e90939444525641b5aa34f7087b5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Update copyright year to 2022Kai Köhne2022-01-041-1/+1
| | | | | | | Pick-to: 5.15 6.2 6.3 Change-Id: If6f1d6f9f82a601f8e2b6d36650d6e737518aa60 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* iOS: Use generic simulator device for building apps via xcodebuildTor Arne Vestbø2021-12-232-9/+11
| | | | | | | | | | | | | | | | | | If Xcode wasn't configured with any simulators the build would fail since we had no device to build for. But we don't need to build for a specific device, we can build for the generic simulator device, just like we do for the non-simulator build. This likely didn't work properly at the time it was first implemented, but now seems to work fine, and is less fragile than the current solution. Running tests still enumerates the available simulators, as that needs a concrete device to run on. Fixes: COIN-777 Pick-to: 6.2 6.3 5.15 Change-Id: I50e31c1b350cf83ce348275b467051263dea88a9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* wasm: remove deprecated argument for source mapsLorn Potter2021-12-131-6/+1
| | | | | | | | | -g4 was deprecated in Emscripten 2.0.17, and since we are well past that version we can safely use -gsource-map instead. Change-Id: I497155619d6320661f6be0e220b52fa7d6ca0b8e Reviewed-by: David Skoland <david.skoland@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: update recommended emscripten to 3.0.0Lorn Potter2021-12-091-1/+1
| | | | | | | [ChangeLog][wasm] Recommended emscripten version is now 3.0.0 Change-Id: I9ae082509415d8f00b8e9970b730ad4a472da310 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* android:qmake: Fix static libraries to include the QT_ARCH suffixAlexandru Croitor2021-12-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building a shared library (with qmake) in a user project targeting Android, the library gets a QT_ARCH suffix added to its name. This suffix is not added when building a static library (CONFIG += staticlib). In the context of a multi-abi android qmake build, all the arch specific static libraries would have the same name and would override each other. This happens with Qt 5.15 and it would also happen in Qt 6, but we don't support multi-abi qmake builds in Qt 6 so far. When the original fix to include the arch suffix for shared libraries was done in Qt 5, d463a63bb94d3f5c9530790541d9706490e44b3a it was likely an oversight that it was not applied to static libraries as well. The !static part of the condition was added in 72d4f0750baae1bb296341bde166f020d29c7faa . The change only handled installation responsibilities, not naming of libraries. Fix static libraries to include the arch suffix, but only in Qt 6. It's too late to fix it in Qt 5, there might be projects that rely on there not being a suffix in static library names. Adding the suffix would suddenly cause linking errors. Amends d463a63bb94d3f5c9530790541d9706490e44b3a [ChangeLog][Android][qmake] Static libraries targeting Android will now include an arch suffix when built using qmake. Fixes: QTBUG-83165 Change-Id: I6f68dcb74cec30b4c8f0bc5a819d89843e9d695e Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Doc build: fix conflicting response file with mocSamuli Piippo2021-11-291-7/+7
| | | | | | | | | | | | | Doc build is using the same variable to define the reponse file as moc build, which can lead to case where moc is using the qdoc's response file instead of its own. Moc needs more include paths than qdoc, this can then lead to weird compilation issues as moc doesn't warn about missing includes. Task-number: QTBUG-98569 Pick-to: 6.2 5.15 Change-Id: Id35da18f664e2032bae96d11b00dbfe55ce37f66 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Win32: Enable large address aware explicitlyYuhang Zhao2021-11-261-0/+2
| | | | | | | | | | | | | | | | | Large address aware is enabled by default in 64-bit compilers, but not 32-bit compilers. But Qt users may build 32-bit Qt themself, in this case large address aware is disabled in fact, and it may cause some issues. So we pass /LARGEADDRESSAWARE to the linker unconditionally to make sure large address aware is enabled for both 32-bit and 64-bit builds. Microsoft Docs: https://docs.microsoft.com/en-us/cpp/build/reference/largeaddressaware-handle-large-addresses?view=msvc-170 Change-Id: Idb2603d9ba0ba9ef4477ce1c3174b7c7e8ba76f6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QtBase: replace windows.h with qt_windows.hYuhang Zhao2021-11-231-1/+1
| | | | | | | | | | We have some special handling in qt_windows.h, use it instead of the original windows.h Change-Id: I12fa45b09d3f2aad355573dce45861d7d28e1d77 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Android: bump default QT_ANDROID_API_VERSION to 31Assam Boudjelthia2021-11-121-1/+1
| | | | | | | | | To allow using Android 12 APIs. Pick-to: 6.2 5.15 Change-Id: I5e9da66c84457888ec723125d16876891232a99b Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake: Introduce the variable MSVC_TOOLSET_VERJoerg Bornemann2021-11-102-0/+11
| | | | | | | | | | | | | ...which represents the version of the MSVC platform toolset. This variable is used to set the platform toolset version in .vcxproj files. Before, the platform toolset version was determined in qmake's C++ code. Now, it's set next to where MSVC_VER is set in common mkspecs .conf files. This will simplify supporting new Visual Studio versions in the future. Change-Id: If78c921f93c6378829746d617c7e7d312174257e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake: Support Visual Studio 2022Joerg Bornemann2021-11-102-0/+10
| | | | | | | | | | | | Extend the detection of the MSCV_VER variable and make VS 2022 known to the vcxproj generator. [ChangeLog][qmake] Added support for Visual Studio 2022. Pick-to: 6.2 5.15 Fixes: QTBUG-97975 Change-Id: Id2c0a0b7800f721e9e34189f0a40ba4830283578 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Bump WINVER, _WIN32_WINNT and _WIN32_IE to _WIN32_WINNT_WIN10 (0x0A00)Yuhang Zhao2021-11-101-0/+5
| | | | | | | | | | | And bump NTDDI_VERSION to 0x0A00000B (NTDDI_WIN10_CO) at the same time, to unblock the developers from accessing the latest Windows APIs. Pick-to: 6.2 Change-Id: Ifbc28c8f8b073866871685c020301f5f20dc9591 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Assume qhelpgenerator in libexec instead of binJoerg Bornemann2021-11-081-1/+1
| | | | | | Task-number: QTBUG-88791 Change-Id: I0f6dc14401e715a98322abc21da3f88e34118e27 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* macOS: Bump max supported SDK version to 12Tor Arne Vestbø2021-11-041-1/+1
| | | | | | Pick-to: 6.2 5.15 Change-Id: Ib4980719fe372abfb2566fe4e82db29226a7fcfa Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix version number when warning about Apple platform SDK mismatchTor Arne Vestbø2021-11-031-1/+1
| | | | | | Pick-to: 6.2 5.15 Change-Id: I9b9cda0c6bb9ad527dbf4b4268c1b572aa04d164 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* wasm: add sse2 compiler flags againMorten Johan Sørvig2021-11-021-0/+8
| | | | | | | Now with QT_FOR_CONFIG += core-private. Change-Id: Iadc61e21db6566f20c32595ef1ab83f37bc5c651 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: remove sse2 config blockMorten Johan Sørvig2021-10-271-7/+0
| | | | | | | | | | | | | | This breaks the build for qmake-based applications, with the error Project ERROR: Could not find feature sse2. Remove the offending section to make applications build again. Pick-to: 6.2 Change-Id: I0b22faa1d8d62e208d79879b822e21637bb03a3e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* 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>