summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* Ensure proper format of Info.plist6.4Maximilian Blochberger2023-03-281-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Information Property List (Info.plist) is a property list that contains information about macOS and iOS application and framework bundles. There are multiple supported formats, those property lists can be stored in, most notably XML and binary. Problem If the Info.plist file is edited with an external editor, such as Xcode, it is possible that it is stored in binary format. A Makefile generated by the qmake tool contains a call to sed, which works on text but not binary files. Consequently, this call would fail. Solution Since Mac OS X 10.2, the plutil tool is available. It can be used to convert the property lists into a specific format. The plutil tool is now used to convert the plist to XML, so that the sed invocation succeeds. [ChangeLog][qmake] Fixed handling binary Info.plist files in generated Makefiles by always converting them to XML before substituting placeholders. Fixes: QTBUG-45357 Change-Id: I066039301c391a5034710458500a096f09e5ca24 Reviewed-by: Jörg Bornemann <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]> (cherry picked from commit bbad6440aecdba29d8808c4fa6e3e6353b39c887) Reviewed-by: Maximilian Blochberger <[email protected]> Reviewed-by: Alexandru Croitor <[email protected]>
* Propagate QT_DISABLE_DEPRECATED_UP_TO to QtLibraryInfo libraryIvan Solovev2023-03-141-0/+3
| | | | | | | | | | | | | This helps to fix the static build, which was previously failing with QT_DISABLE_DEPRECATED_UP_TO, because it was the only library that did not see the definition. Fixes: QTBUG-111884 Change-Id: I9324019bc8cbb7ba7a87dd348ea60e25cb681005 Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Marc Mutz <[email protected]> (cherry picked from commit eaae969ac604df5aef0c36a0ddaa20209bff70db) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
* Set GenerateDebugInformation to true in vcproj if at least /DEBUG is setAlexey Edelev2023-01-132-1/+3
| | | | | | | | | | | | | | | | | | If the command line option contains /DEBUG without the following argument, GenerateDebugInformation remained 'false' because the DebugInfoOption contained the initial value. Set GenerateDebugInformation to 'true' if the /DEBUG option is found and reset to 'false' only if option is set to 'none'. Amends commit 6a6b27940d497b29672ff65ff242fe0211603f22. Fixes: QTBUG-110068 Change-Id: I792d7335d8b9536d4beed54cabfd70dcf54f09ac Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]> (cherry picked from commit 0e3ef4111271761ede6cbbeb3b0fa075a483085e) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
* qmake: Document that QMAKE_PRE_LINK does not work with XcodeAlexandru Croitor2022-12-161-1/+2
| | | | | | | | | | | | | | | | When generating an Xcode project using qmake that's targeting the new Xcode build system, QMAKE_PRE_LINK does not work properly. It generates rules that conflict with the default linker rules. This is a limitation of the new Xcode build system which does not have any known workaround. Document the limitation. Fixes: QTBUG-99601 Change-Id: Ie4e6bcb0603ced85f786e9f7f407172e84a00d83 Reviewed-by: Jörg Bornemann <[email protected]> (cherry picked from commit 5fe52a0420a50e0d0e78bb7ff5d7625443a43673) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
* Port from qAsConst() to std::as_const()Marc Mutz2022-11-1816-46/+46
| | | | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. This is a 6.4 re-run of the script we ran in dev, in order to avoid conflicts between the branches when cherry-picking. Change-Id: I5eca3df3179dfb2b2682c75a479ba9a4259cc703 Reviewed-by: Volker Hilsheimer <[email protected]>
* Port from container::count() and length() to size() - V5Marc Mutz2022-11-1825-266/+266
| | | | | | | | | | | | | | This is the same semantic patch (qt-port-to-std-compatible-api V5 with config Scope: 'Container') as in dev. I've re-ran it in 6.4 to avoid cherry-pick conflicts. Like in dev, added two NOLINTNEXTLINEs in tst_qbitarray and tst_qcontiguouscache, to avoid porting calls that explicitly test count(). Change-Id: I9621dee5ed328b47e78919a34c307105e4311903 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Volker Hilsheimer <[email protected]>
* Doc: Document QML_IMPORTS_PATH and QMLPATHSAndreas Eliasson2022-06-291-1/+25
| | | | | | | | Fixes: QTBUG-101615 Change-Id: I0c83f36db4e4731095610683c4a722438f9b804e Reviewed-by: Topi Reiniö <[email protected]> (cherry picked from commit e8a782fb2c4084cd88778e263cef5e323505e145) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
* qmake/msbuild: Turn off "use full paths in diagnostics" by defaultJoerg Bornemann2022-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The default setting for "Full Path of Source Code File in Diagnostics" changed with VS 2017: it's now turned on by default. It can also be enabled with the compiler flag /FC, but there is no flag for turning it off. Users might want to disable /FC to obtain reproducable binaries. Change qmake's default from "use Visual Studio's default" to "off" for this feature. Users can enable it manually by putting the following into their project files: QMAKE_CXXFLAGS += /FC CMake faced the same problem. See CMake upstream issue #18261 for comparison. Task-number: QTBUG-104450 Change-Id: Ibe636a0ac5d18aefb44f2b7179b59fcec2ad8353 Reviewed-by: Alexandru Croitor <[email protected]> (cherry picked from commit 073214fdf943e1a0beb660a039e39dc1ea43836e) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
* qmake/msbuild: Support all /DEBUG:xxx linker optionsJoerg Bornemann2022-06-223-5/+20
| | | | | | | | | | | | /DEBUG:OFF now turns debug info generation off. /DEBUG:FULL maps to DebugFull. Unknown /DEBUG:xxx options are added to AdditionalOptions. Task-number: QTBUG-104450 Change-Id: Ibd072145e51551b29370e809b880c0d7f1a00c03 Reviewed-by: Alexandru Croitor <[email protected]> (cherry picked from commit 6a6b27940d497b29672ff65ff242fe0211603f22) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
* qmake/msbuild: Support all /LTCG:xxx optionsJoerg Bornemann2022-06-223-17/+24
| | | | | | | | | | | | /LTCG:OFF now turns off LTCG. /LTCG:INCREMENTAL maps to UseFastLinkTimeCodeGeneration. Unknown /LTCG:xxx values are passed to AdditionalOptions. Task-number: QTBUG-104450 Change-Id: If85942dbeec204dc2571a861a43201cb3d5993ae Reviewed-by: Alexandru Croitor <[email protected]> (cherry picked from commit 566ede6ee169e87addab38ec64e527e76bc475e9) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
* qmake: Document Xcode behavior when bundling translation filesAlexandru Croitor2022-06-143-0/+46
| | | | | | | | | | | | | | | | Xcode's legacy and new build system modes have different behavior in how they bundle resource paths that start with lang_code.lproj. Document how to bundle translation files for both legacy and new build systems. Fixes: QTBUG-98417 Change-Id: I857ec76577f8244a751d4bf38fbe305fef614734 Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]> Reviewed-by: Kai Koehne <[email protected]> (cherry picked from commit 94207621ee768ddedf0021aef99566a8ce90d22b) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-05-1673-2260/+150
| | | | | | | | | | | | | 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 <[email protected]> Reviewed-by: Lars Knoll <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* qdoc: Remove dependencies to non-existing help modulesKai Köhne2022-05-101-6/+1
| | | | | | Pick-to: 6.2 6.3 Change-Id: I953b714db27dc8bd9ecc1f65bbfd3e02d6068785 Reviewed-by: Nicholas Bennett <[email protected]>
* Fix qmake/qtpaths -query for static relocatable buildsJoerg Bornemann2022-05-091-2/+7
| | | | | | | | | | | | | | | The install prefix was determined incorrectly for static relocatable builds. The reason was that for those builds, QLibraryInfo::path() returns the application directory, which is <prefix>/bin for qmake and qtpaths. Fix this by removing the bin directory part from the installation prefix that QLibraryInfo returns if qmake/qtpaths are used. Fixes: QTBUG-102877 Change-Id: I2e9ff96ded0ee2a7802b265741a3cfbe2bf0a4ba Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>
* qmake: Use qVersion for version reporting instead of QT_VERSION_STRAlexandru Croitor2022-05-065-12/+4
| | | | | | | | | | | | | Apart from being consistent with qtpaths (which uses qVersion()), this also ensures that Qt Creator loads correct debug helpers for types like QString when debugging qmake. As a drive by, remove all QT_VERSION_MAJOR, QT_VERSION_MINOR, QT_VERSION_PATCH defines which are not used anywhere. Change-Id: Ibc8f2a6af833e1ec6e6cd6e1937ac3c1ab328555 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* Replace uses of _qs with _s in sources and examplesSona Kurazyan2022-04-191-1/+2
| | | | | | Task-number: QTBUG-101408 Change-Id: I48360ba3b23965cd3d90ac243c100a0656a4cde8 Reviewed-by: Marc Mutz <[email protected]>
* Remove unused parameter in NmakeMakefileGenerator::suppressBuiltinRules()Tor Arne Vestbø2022-04-051-1/+1
| | | | | | Change-Id: I05100656d89ca464c9ef57a442dac7f75da235aa Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* qmake: Suppress built-in suffixes for makeOrgad Shaneh2022-03-314-0/+15
| | | | | | | | | They cause make to run much slower, and qmake writes everything explicitly, so they're not really needed. Change-Id: Ia47674eec8309e120c8264b7b6687677a520d5b9 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* Apply Q_CONSTINIT across the codebaseMarc Mutz2022-03-294-7/+5
| | | | | | | | | Still not complete. Just grepping for static and thread_local. Task-number: QTBUG-100486 Change-Id: I90ca14e8db3a95590ecde5f89924cf6fcc9755a3 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
* Misc: Do not depend on transitive includesFabian Kosmale2022-03-171-0/+1
| | | | | | | | As a drive-by, remove superfluous includes from qnetworkmanagerservice.h and obey the coding conventions for includes in a few more places. Change-Id: I65b68c0cef7598d06a125e97637040392d4be9ff Reviewed-by: Thiago Macieira <[email protected]>
* Deprecate {QString, QByteArray}::count()Sona Kurazyan2022-03-121-8/+8
| | | | | | | | | | | | And remove their uses. [ChangeLog][QtCore][Deprecation Notice] Deprecated QString::count() and QByteArray::count() that take no parameters, to avoid confusion with the algorithm overloads of the same name. They can be replaced by size() or length() methods. Change-Id: I6541e3235ab58cf750d89568d66d3b1d9bbd4a04 Reviewed-by: Thiago Macieira <[email protected]>
* qmake: Fix overlong command lines for static Qt builds on WindowsJoerg Bornemann2022-02-216-28/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linker response files for the MinGW and Unix makefile generators are controlled by the variable QMAKE_LINK_OBJECT_MAX. This variable holds a number. If the number of object files passed to the linker exceeds this number, a linker response file containing object file paths is created. This heuristic is extremely imprecise. It doesn't take into account the length of object file names nor the length of $$OBJECTS_DIR. Also, when using a static Qt, a big part of the linker command line are libraries. A relatively small example can fail to link with "The command line is too long" on Windows, even with the object files being in a response file. The MinGW makefile generator already reads the variable QMAKE_RESPONSEFILE_THRESHOLD for compiler response files. Re-use this variable for the linker response file of the Unix and MinGW makefile generators. If QMAKE_RESPONSEFILE_THRESHOLD is set, use it to determine whether to create a response file. QMAKE_LINK_OBJECT_MAX is then ignored. The response file contains objects and libraries. If QMAKE_RESPONSEFILE_THRESHOLD is not set, use QMAKE_LINK_OBJECT_MAX to determine whether to create a response file. The response file contains only object files. QMAKE_LINK_OBJECT_SCRIPT is used in both cases to specify a common base name of all linker response files. Pick-to: 6.2 6.3 Task-number: QTBUG-100559 Change-Id: I3c78354fa5ebb1a86438ec804679e0ee776c3f49 Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Kai Koehne <[email protected]>
* QLibraryInfo: remove load-time variableThiago Macieira2022-02-051-1/+2
| | | | | | | | | | | | Since this is only used by qtpaths and qmake, let's not make every application pay the price of dynamically initializing a QString whenever QtCore is loaded (which 100% of Qt applications do). Instead, initializing a null pointer costs zero and is one third the size of QString. Even the assignment in qmake and qtpaths is faster this way. Pick-to: 6.3 Change-Id: I6fcda969a9e9427198bffffd16ce8d1eb8dc19da Reviewed-by: Marc Mutz <[email protected]>
* qmake: Print proper error if no .pro file could be detectedJoerg Bornemann2022-02-021-7/+19
| | | | | | | | | | | | | | | | | | When passing a directory to qmake, it tries to detect a .pro file in that directory. Whenever the detection failed, qmake printed an error message like "Access is denied." or "file to open is a directory". Now, qmake prints an actually helpful error message: ***Cannot detect .pro file in directory '../foo'. QMake expects the file '../foo/foo.pro' or exactly one .pro file in the given directory. Fixes: QTBUG-34673 Change-Id: I3d21ead247734172eee4eb68d3f9782d3ddaea52 Reviewed-by: Edward Welbourne <[email protected]> Reviewed-by: Oliver Wolff <[email protected]>
* qmake: Scan source files with QFileJoerg Bornemann2022-02-021-41/+11
| | | | | | | | | | | The C API we've used so far underlies stronger restrictions regarding path length than QFile. Since qmake is not bootstrapped anymore, we can use QFile. Task-number: QTBUG-99791 Change-Id: Ic7765b0c09a8aa07c208c1b1d02efe0c54bb44f2 Reviewed-by: Dominik Holland <[email protected]> Reviewed-by: Alexey Edelev <[email protected]>
* QMake: replace a Q_ASSERT() with a Q_UNREACHABLE()Marc Mutz2022-01-251-1/+2
| | | | | | | | | | | | | | In release mode, the Q_ASSERT() is a no-op, and Clang rightfully pointed out that, in that case, the bool ok variable will be used uninitialized. Fix by using Q_UNREACHABLE(), which has an effect in both debug and release builds. Pick-to: 6.3 6.2 5.15 Change-Id: I33480aabe1c5233d1caddf9404f475ca9fcb8eaf Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
* Fix wrong QT_HOST_* values when qt.conf is presentJoerg Bornemann2022-01-121-2/+2
| | | | | | | | | | | | | | | | When a qt.conf was present, QT_HOST_* variables got a wrong default value. For example, QT_HOST_BINS would end with /bin/bin. We must not provide the defaults via QSettings::value(_, defaultValue). The assignment of the default value is done in QMakeLibraryInfo::rawLocation() separately after retrieving the value. This amends commit 04ec14105ec41a67fe4d53a1962c9d68c5fd8715. Pick-to: 6.3 Fixes: QTBUG-99656 Change-Id: I43431664e93ab40417a5432b03e7eb38ae21bad8 Reviewed-by: Alexey Edelev <[email protected]>
* qmake: Print error and exit if a response file cannot be createdJoerg Bornemann2022-01-081-2/+8
| | | | | | | | | | | | This is always an error, and we should not silently return an empty string and pretend that everything is in order. Drive-by change: Add a comment stating what createResponseFile() returns. Pick-to: 6.3 Change-Id: I4ee940cfac826c7ae5d15e977b692f1368ab29ea Reviewed-by: Alexey Edelev <[email protected]>
* qmake/MinGW: Fix linking target name with whitespaceJoerg Bornemann2022-01-081-1/+1
| | | | | | | | | | | | | | | | | | When having a TARGET value that contains whitespace, linking would fail with MinGW. This was, because the function createResponseFile stitched together a file name like this: objectScript."Target Name".Release The inner double quotes make the file name invalid. Fix this by retrieving QMAKE_ORIG_TARGET with the var() method instead of fileVar(). The latter quotes the return value if it contains spaces. Pick-to: 5.15 6.2 6.3 Fixes: QTBUG-99522 Change-Id: Ieb7dcf3fbbd8a75de5a9b9a6beadb2170dddf35d Reviewed-by: Kai Koehne <[email protected]>
* Doc: Mention how to interrupt/continue qmake loopsJoerg Bornemann2022-01-081-0/+4
| | | | | | | Fixes: QTBUG-99559 Pick-to: 6.3 Change-Id: Ib88bc0f93d7c0d6b9bf9a342410395f5a79675e5 Reviewed-by: Ulf Hermann <[email protected]>
* qmake/Xcode: Mark "Qt Preprocess" build phase as always out of dateJoerg Bornemann2021-12-091-0/+1
| | | | | | | | | | | | | | | | This build phase executes the qt_preprocess.mak makefile from Xcode and should be triggered whenever any input of any rule in this makefile is out of date. It was not triggered when a file that's referenced in a .qrc file was changed. The Xcode project lacks those files as rule input, but the makefile itself has its inputs correctly set up, and can be triggered always. Pick-to: 6.2 5.15 Fixes: QTBUG-94995 Change-Id: Ida1349039bd6f23a300a610ecbde96f7cd35edb6 Reviewed-by: Tor Arne Vestbø <[email protected]> Reviewed-by: Alexandru Croitor <[email protected]>
* Fix size_t / int conversion warnings in qmakeKai Köhne2021-12-021-2/+2
| | | | | | | | | | | Fixes qtbase\qmake\generators\makefiledeps.cpp(985): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data qtbase\qmake\generators\makefiledeps.cpp(986): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data Pick-to: 6.2 Change-Id: I7c6b4f36dc383db420c10d674666d58dbf29d2dd Reviewed-by: Joerg Bornemann <[email protected]>
* Long live Q_GADGET_EXPORT!Marc Mutz2021-11-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | Like Q_NAMESPACE_EXPORT for Q_NAMESPACE, this variant of Q_GADGET allows passing an export macro. This is useful to avoid exporting the whole class just to get the staticMetaObject hidden therein exported. Before anyone asks: No, we don't need Q_OBJECT_EXPORT, because QObject subclasses, being polymorphic, always need to have a class-level export macro (to export their vtable), but while that technique also works for value classes (the Q_GADGET audience), it is not desirable for them, because it makes inline functions exported in Windows debug builds, which is not what we want, because it needlessly restricts what you can to with the inline functions (e.g. remove). [ChangeLog][QtCore] Added the Q_GADGET_EXPORT macro, which is like Q_GADGET, but allows passing an export macro (like Q_NAMESPACE_EXPORT for Q_NAMESPACE). Fixes: QTBUG-55458 Change-Id: I546297de1e8aa45d83381991bcd3fbca61e1eef0 Reviewed-by: Edward Welbourne <[email protected]>
* qmake: use even fewer magic numbersMarc Mutz2021-11-261-28/+29
| | | | | | | | | | | | | De-unroll the loop over the "interesting" keyword ignore comments by using the existing array of their names. Replace magic numbers by strlen() calls. Use local starts_with() instead of strncmp() when comparing with fixed-size constant string literals, to avoid repeating the fixed string's lengths for the third argument of strncmp(). Task-number: QTBUG-55458 Change-Id: If458aced382948fb719d984702857fb2171c87ee Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Lars Knoll <[email protected]>
* qmake: don't use magic numbersMarc Mutz2021-11-241-7/+15
| | | | | | | | Use a local enum to enumerate the different "interesting" keywords. Task-number: QTBUG-55458 Change-Id: I30a6336072d3184b720d8c016f199572dba87a81 Reviewed-by: Joerg Bornemann <[email protected]>
* QtBase: replace windows.h with qt_windows.hYuhang Zhao2021-11-234-4/+4
| | | | | | | | | | 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 <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Edward Welbourne <[email protected]>
* Move the 'qmake' feature to src/tools/configure.cmakeJoerg Bornemann2021-11-192-16/+0
| | | | | | | | This allows us to present 'qmake' in the tool-related section of the configure summary. Change-Id: I897dec23cb0608706ec01d9b91283dbce92b293f Reviewed-by: Alexandru Croitor <[email protected]>
* Change qt.conf key Qml2Imports to QmlImportsJoerg Bornemann2021-11-191-13/+14
| | | | | | | | | | | | | [ChangeLog][qt.conf] The key Paths/Qml2Imports has been renamed to Paths/QmlImports. For backwards-compatibility, Paths/Qml2Imports is still accepted and acts as default value for when Paths/QmlImports is not present. Fixes: QTBUG-98335 Change-Id: If7ffedd281eb8a87e8ab1a2b69a823e615c33541 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Kai Koehne <[email protected]>
* Doc: Fix qdoc warningsVenugopal Shivashankar2021-11-111-0/+3
| | | | | | | | | | In addition, added the missing warninglimit entry to a few doc configs. Change-Id: I51b9d2ad66123a2a9673a3b42870662641375e6b Reviewed-by: Timur Pocheptsov <[email protected]> Reviewed-by: Topi Reiniö <[email protected]> Reviewed-by: Mårten Nordheim <[email protected]>
* qmake: Introduce the variable MSVC_TOOLSET_VERJoerg Bornemann2021-11-101-17/+1
| | | | | | | | | | | | | ...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 <[email protected]>
* qmake: Support Visual Studio 2022Joerg Bornemann2021-11-103-1/+14
| | | | | | | | | | | | 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 <[email protected]>
* qmake/vcxproj: Fix "CONFIG += combine" extra compilersJoerg Bornemann2021-10-251-26/+58
| | | | | | | | | | | | | | | | | | | | | Extra compilers with "CONFIG += combine" were broken for qmake's vcxproj generator since forever. Usually, extra compilers are handled by attaching the Custom Build Tool to the input file. This is not possible for combine extra compilers, because they map multiple inputs to one output. We cannot attach the Custom Build Tool to the output either, because this would result in circular dependency errors (output trying to create output itself). To fix this, we create a custom build tool fake file (.cbt) for the output and attach the Custom Build Tool there. This is the same trick we do for regular extra compilers that have C++ sources as input (e.g. the one that generates moc_predefs.h). Pick-to: 6.2 5.15 Fixes: QTBUG-94806 Change-Id: Ib808a43fead737df91b89a1ac5e180aeae37efae Reviewed-by: Alexandru Croitor <[email protected]>
* qmake: Make some debug code actually compilableJoerg Bornemann2021-10-251-1/+1
| | | | | Change-Id: Ia57b0d83ba3bf005d7d19e7958bb7131c7dc50b3 Reviewed-by: Alexandru Croitor <[email protected]>
* qmake/vcxproj: Fix malformed <Message> tagsJoerg Bornemann2021-10-251-0/+1
| | | | | | | | | | | | | | Extra compilers and the command set to "\n" would result in malformed <Message> tags in vcxproj files. Those tags are used to display the name of the extra compiler when building. Setting the extra compiler's command to "\n" is a common trick to force the creation of the rule. Make sure to trim the command name that is created from the extra compiler's command to avoid such new-line-only bogus message tags. Pick-to: 6.2 5.15 Change-Id: I1bae28ed14c438d777f96280c6b2cf5ca315b51c Reviewed-by: Alexandru Croitor <[email protected]>
* Skip unnecessary commands when cross-building toolsJoerg Bornemann2021-09-271-0/+1
| | | | | | | | | | | | | | | Introduce a new macro qt_internal_return_unless_building_tools which simply calls return() if tools are not built. This macro is supposed to be called after qt_internal_add_tool(). Using this macro avoids having to special-case code for when qt_internal_add_tool() creates imported targets in cross-builds. Adjust pro2cmake accordingly. Task-number: QTBUG-85084 Change-Id: I9e1c455c29535dd8c318efa890ebd739c42effc1 Reviewed-by: Alexandru Croitor <[email protected]>
* Remove fatuously true or false QT_VERSION checksEdward Welbourne2021-09-231-12/+5
| | | | | | | | | QT_VERSION is now at least QT_VERSION_CHECK(6, 3, 0), so remove all checks against Qt 6.0.0 or earlier. They are superfluous. Tidied up in some places in the process, particularly #include order. Change-Id: I2636b2fd13be5b976f5b043ef2f8cddc038a72a4 Reviewed-by: Thiago Macieira <[email protected]>
* Doc: Fix broken linksVenugopal Shivashankar2021-09-171-5/+2
| | | | | | | Task-number: QTBUG-96569 Pick-to: 6.2 6.2.0 Change-Id: If7e951c3df72a87a04e802a5eadbc01c4d934765 Reviewed-by: Topi Reiniö <[email protected]>
* qmake/xcode: Do not create OBJECTS_DIRJoerg Bornemann2021-09-104-0/+23
| | | | | | | | | | | | | If we create OBJECTS_DIR at qmake time, Xcode will not consider this directory as created by the build system, and "xcodebuild --clean" will fail. Prevent qmake from creating that directory in the Xcode generator. Pick-to: 5.15 6.2 Fixes: QTBUG-96305 Change-Id: I874bf34a4289ce5f2d3e2ce070ffbe56d5368861 Reviewed-by: Tor Arne Vestbø <[email protected]>
* Doc: Remove unsupported customFiltersKai Köhne2021-09-031-3/+0
| | | | | | | | | | | customFilters defined in .qdocconf are not supported anymore by Qt Assistant since Qt 5.13. Therefore remove them from all .qdocconf files, also to avoid cargo-culting them to new help modules. Task-number: QTBUG-95987 Change-Id: I664391460637d2e859348da0338e1a4a3ee9f570 Reviewed-by: Edward Welbourne <[email protected]> Reviewed-by: Paul Wicking <[email protected]>
* Update Android default SDK from 29 to 30Juha Vuolle2021-08-271-1/+1
| | | | | | | | | | | 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 <[email protected]>