summaryrefslogtreecommitdiffstats
path: root/qmake/generators/unix/unixmake2.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fail builds on Apple platforms with invalid Info.plistMaximilian Blochberger2025-07-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Information property lists (Info.plist) files are part of application bundles on Apple platforms and contain basic information about the application, such as the name of the application's executable. The Info.plist file can have multiple formats, such as binary or XML. Makefiles generated by qmake convert Info.plist files to XML by default, so that variables in the Info.plist can be substituted with values defined by qmake, such as the name of the application's executable. This is important if users use external tools such as Xcode for modifying the Info.plist file, which may save it in binary format. To convert the formats, the plutil tool shipped with macOS (or the Xcode command-line tools) is used. The Unix tool sed is then used to actually substitute variables. If the Info.plist file is invalid, e.g., due to an invalid tag name, the plutil invocation fails. However, the converted plist is piped into sed for variable substitution. The plutil command will simply write an error message to standard out and return with a non-zero exit code. Due to the pipe chain, make will not fail and the error message will end up in the Info.plist in the built application bundle. The application bundle is then invalid as well, as vital information such as the name of the executable of the application is missing. The change ensures that the pipe chain fails, if plutil exits with a non-zero exit code. The issue was introduced with my solution for QTBUG-45357. Beforehand, Info.plists and mistakes therein were simply copied into the application bundle. [ChangeLog][qmake] Fail builds on Apple platforms if the Info.plist is invalid instead of generating corrupt application bundles. Pick-to: 6.5 6.9 6.10 Change-Id: Ibdb2a18e9bbf35a654af8534aa61188f8389c55a Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]>
* qmake: Fix incorrect Info.plist replacement of EXECUTABLE_NAMEAlexandru Croitor2023-04-061-1/+1
| | | | | | | | | | | | | The app_bundle_name should be used if it's not empty. Previously it was only used if it was empty. Amends 0749ba2c5eacc4822cf9c7a31edf8d70c4ef6064 Pick-to: 6.5 Fixes: QTBUG-112668 Change-Id: I4a0e8286eabb5156ad62b448afdf7f54cc78a915 Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Amir Masoud Abdol <[email protected]>
* Make qmake and qtpaths report Qt version baked into the binariesJoerg Bornemann2023-01-181-1/+1
| | | | | | | | | | | | | | | QMake and qtpaths used qVersion() to report Qt's version number. This is problematic if those tools are run in an environment where a different Qt version is loaded (e.g. by setting LD_LIBRARY_PATH). This reverts commit a783c3d574a1400c4dfdd32975fc511f095df8b2, which changed the use of the QT_VERSION define to a qVersion() call in qmake. Additionally, we use QT_VERSION in qtpaths too for consistency. Pick-to: 6.5 Change-Id: I6c8a1aa6ee6169becd7c685a98ce23c22c3864c7 Reviewed-by: hjk <[email protected]> Reviewed-by: Alexandru Croitor <[email protected]>
* Use qtversion.h instead of qlibraryinfo.hMarc Mutz2022-12-091-1/+1
| | | | | | | | | | | | ... where 50b05e3e2ad969abf4b939d5db2253380e47d775 originally added them. While qtversion.h is included in qglobal.h, using qtversion.h directly is a tiny step towards removing qglobal.h includes from our code-base, so don't let this opportunity go to waste. Change-Id: I28eaca1f4e250fc9e12e2ce6a6f94670a1d08dbe Reviewed-by: Ivan Solovev <[email protected]>
* Port from container::count() and length() to size() - V5Marc Mutz2022-11-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to handle typedefs and accesses through pointers, too: const std::string o = "object"; auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); }; auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) { auto exprOfDeclaredType = [&](auto decl) { return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o); }; return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes)))); }; auto renameMethod = [&] (ArrayRef<StringRef> classes, StringRef from, StringRef to) { return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)), callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))), changeTo(cat(access(o, cat(to)), "()")), cat("use '", to, "' instead of '", from, "'")); }; renameMethod(<classes>, "count", "size"); renameMethod(<classes>, "length", "size"); except that the on() matcher has been replaced by one that doesn't ignoreParens(). a.k.a qt-port-to-std-compatible-api V5 with config Scope: 'Container'. Added two NOLINTNEXTLINEs in tst_qbitarray and tst_qcontiguouscache, to avoid porting calls that explicitly test count(). Change-Id: Icfb8808c2ff4a30187e9935a51cad26987451c22 Reviewed-by: Ivan Solovev <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>
* Ensure proper format of Info.plistMaximilian Blochberger2022-10-191-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 Pick-to: 6.2 6.4 Reviewed-by: Jörg Bornemann <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-111-5/+5
| | | | | | | | | | | | | | | | 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, with manual unstaging of the actual definition and documentation in dist/, src/corelib/doc/ and src/corelib/global/. Task-number: QTBUG-99313 Change-Id: I4c7114444a325ad4e62d0fcbfd347d2bbfb21541 Reviewed-by: Ivan Solovev <[email protected]>
* Port from container.count()/length() to size()Marc Mutz2022-10-041-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is semantic patch using ClangTidyTransformator: auto QtContainerClass = expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o) makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container'. <classes> are: // sequential: "QByteArray", "QList", "QQueue", "QStack", "QString", "QVarLengthArray", "QVector", // associative: "QHash", "QMultiHash", "QMap", "QMultiMap", "QSet", // Qt has no QMultiSet Change-Id: Ibe8837be96e8d30d1846881ecd65180c1bc459af Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Volker Hilsheimer <[email protected]>
* Move qVersion() from qglobal.h to qlibraryinfo.hSona Kurazyan2022-09-011-0/+1
| | | | | | | | | | | | | | | Since qVersion() might be called also from C code, disable the parts of qlibraryinfo.h that are relevant only for C++ code if __cplusplus is not defined. [ChangeLog][Potentially Source-Incompatible Changes] qVersion() is moved from qglobal.h to qlibraryinfo.h, '#include <QtCore/QLibraryInfo>' needs to be added where it's used. Task-number: QTBUG-99313 Change-Id: I3363ef3fa4073114e5151cb3a2a1e8282ad42a4d Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Edward Welbourne <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-05-161-28/+3
| | | | | | | | | | | | | 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]>
* qmake: Use qVersion for version reporting instead of QT_VERSION_STRAlexandru Croitor2022-05-061-1/+1
| | | | | | | | | | | | | 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]>
* qmake: Fix overlong command lines for static Qt builds on WindowsJoerg Bornemann2022-02-211-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* Fix framework dependencies in .la filesJoerg Bornemann2021-08-171-0/+28
| | | | | | | | | | "-framework Foo" arguments must be placed in the inherited_linker_flags variables instead of dependency_libs. Pick-to: 5.15 Fixes: QTBUG-2390 Change-Id: Idec4115533ed1f86f44db64931fa64cadeeb4572 Reviewed-by: Alexandru Croitor <[email protected]>
* iOS: Add a variable to customize where the launch image is taken fromAndy Shaw2020-07-221-0/+7
| | | | | | | | | | | | | For those who are providing their own launch images for their iOS projects then QMAKE_IOS_LAUNCH_SCREEN can be set to point to the location where the launch image to be used over the default. [ChangeLog][Platform Specific Changes][iOS] Added support for specifying a launch image to be used for an iOS project. This can be achieved by using QMAKE_IOS_LAUNCH_SCREEN. Change-Id: Ibb236655b282132ab5eee747986a93abb9802200 Reviewed-by: Tor Arne Vestbø <[email protected]>
* Makefile: Deduplicate logic for response file nameOrgad Shaneh2020-07-061-7/+2
| | | | | | | + verify that the file was actually written. Change-Id: I14a3c0b75f41f926b469109a1d7f2f80368ec9bb Reviewed-by: Joerg Bornemann <[email protected]>
* qmake: Stop using -isystem flagDmitry Shachnev2020-06-061-8/+2
| | | | | | | | | | | This option changes the order of include paths, which can cause problems of various kinds. See https://bugs.debian.org/958479 for an example. The benefit of that option is minimal for what it was intended. Pick-to: 5.15 5.12 Change-Id: I80eeabd09764df290b60bc59aeb2f90d07723608 Reviewed-by: Thiago Macieira <[email protected]>
* Add a QRegularExpression::fromWildcard() convenience methodLars Knoll2020-05-061-4/+3
| | | | | | | | | Simplify constructing QRegularExpression objects from a glob pattern. Change-Id: I06f60b1dfea3da969e2474dedd44b6ca5d456d7d Reviewed-by: Simon Hausmann <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]>
* Port qmake over to user QRegularExpressionLars Knoll2020-05-051-6/+8
| | | | | | | | | Use the DotMatchesEverythingOption for all places where we interpret .pro files, to increase compatibility with QRegExp. Change-Id: I347d6b17858069f3c9cedcedd04df58358d83f27 Reviewed-by: Joerg Bornemann <[email protected]>
* Build qmake with QT_USE_STRINGBUILDERLars Knoll2020-05-051-2/+2
| | | | | | | | Should improve performance and is going to be required in the future anyway. Change-Id: I89d7c50441d2491da1ab0a4d564dcc91f52ade85 Reviewed-by: Alex Blasche <[email protected]>
* Use QMAKE_TARGET for the name of the object script fileAndy Shaw2020-04-281-1/+1
| | | | | | | | | | Since TARGET at this point contains the path to where the target will be then it can include ".." as part of it which will cause problems when building for Android on Windows. Therefore, QMAKE_TARGET should be used as an identifier here as the path is not needed. Change-Id: Idb8babd0459c65cbcfd64fe47baeac4303a3fd87 Reviewed-by: Joerg Bornemann <[email protected]>
* Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2020-02-181-0/+2
|\ | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qlinkedlist.h src/plugins/platforms/wasm/qwasmintegration.cpp src/plugins/platforms/wasm/qwasmscreen.cpp Change-Id: Iefca7f9f4966bdc20e7052aca736874861055738
| * qmake: Allow the use of a response file when building a libraryAndy Shaw2020-02-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Change b274f656b82e06fad492e241dae6ae65cb377ad1 enabled the use of a response file for application building specifically needed when building an application for Android on Windows. The same cause can happen when building a library too with a lot of object files, so the command for the link step can be too long. So we expand the functionality to be used for libraries too. Task-number: QTBUG-71940 Change-Id: Ia6d1943bf33f6decb53f6e71a8dc65310d2f20a1 Reviewed-by: Joerg Bornemann <[email protected]>
* | Mark the old style unprefixed stream functions deprecatedAllan Sandfeld Jensen2019-12-161-5/+5
|/ | | | | | | | Requires a third definition for the source-compatible but deprecated version. Change-Id: I260ae79f4547f99eed701b10e0b25222f81cd5ff Reviewed-by: Lars Knoll <[email protected]>
* Fix precompiled headers on macOSJoerg Bornemann2019-11-181-4/+7
| | | | | | | | | | | | | | | Since commit 059172c6 precompiled headers did not work anymore on macOS, because the ${QMAKE_PCH_ARCH} string was suddenly appearing in locations where it was not replaced with the actual architecture, e.g. the directory where the PCH files are written. Fix this by replacing the whole file path and not just portions of it. Fixes: QTBUG-79694 Change-Id: I925d4ee8980a0de3205a0e387a516a5c6f8cfa4b Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: BogDan Vatra <[email protected]> Reviewed-by: Kai Koehne <[email protected]>
* Be able to create a response file for other generators tooAndy Shaw2019-11-061-33/+56
| | | | | | | | | | | | When building an application for Android on Windows it is possible that the command line will be too long when doing the link step. So the code for generating a response file is moved to MakefileGenerator so it can be used by the other generators easily. The same variables used by MinGW can be used elsewhere then. Fixes: QTBUG-71940 Change-Id: I6c331d12e9541a90a4a95e0154d0ea1c056489bc Reviewed-by: Joerg Bornemann <[email protected]>
* Fix precompiled headers for ClangChristian Romberg2019-10-251-4/+2
| | | | | | | | | | | | | | Precompiled headers were put in a directory which had exactly the same name as the binary to be generated. This resulted in a failure with any mkspec that used clang_pch_style. The g++-mkspec avoid this problem by extending the directory name. This change adopts this technique for clang mkspecs. [ChangeLog][qmake] Fixed precompiled headers for the Clang compiler. Fixes: QTBUG-72404 Change-Id: I471462e2bcb1e33f19d277c21acde0c04b1ffcd6 Reviewed-by: BogDan Vatra <[email protected]>
* qmake: Place prl files under Resources in framework bundlesTor Arne Vestbø2019-10-031-2/+3
| | | | | | | | | | | | The root of the framework bundle shouldn't contain random files, and doing so will prevent the bundle from being signable. We still look up prl files in the root, to keep backwards compatibility. Change-Id: Ifd0bc3c6e7924e89eec54d3ef9368dfc95ed402c Reviewed-by: Simon Hausmann <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]>
* Merge remote-tracking branch 'origin/5.13' into 5.14Friedemann Kleint2019-09-091-2/+4
|\ | | | | | | | | | | | | Conflicts: tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp Change-Id: Idd3ca5cb9a2b95a4c3513b2a4c8966e6f56193f1
| * Do not prepend QMAKE_PREFIX_STATICLIB to TARGET for TEMPLATE auxJoerg Bornemann2019-08-141-2/+4
| | | | | | | | | | | | | | | | This was introduced by accident in 4da47d0f. Fixes: QTBUG-77429 Change-Id: Ic3d9052e1fc83dab5ed3b8725629588208b0d7bb Reviewed-by: Oliver Wolff <[email protected]>
* | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-08-131-5/+33
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/win32-clang-msvc/qmake.conf src/corelib/tools/qlist.h src/gui/painting/qcompositionfunctions.cpp src/gui/painting/qtriangulator_p.h src/gui/text/qfontengine_p.h src/network/kernel/qhostinfo_p.h src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp Done-With: Allan Sandfeld Jensen <[email protected]> Change-Id: Ib8a0308cf77224c4fbdcf56778fdac4a43e37798
| * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-08-051-5/+33
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/unix/unixmake2.cpp src/plugins/platforms/cocoa/qcocoawindow.mm Change-Id: Iba7aa7324f35543e0297a3680956420058cd3630
| | * Fix dependency_libs entry of .la filesJoerg Bornemann2019-08-031-5/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | Libtool cannot cope with absolute paths in the dependency_libs entry. We split absolute paths into -L and -l here. Change-Id: I30bf11e490d1993d2a4d88c114e07bbae12def6d Fixes: QTBUG-76625 Reviewed-by: Kai Koehne <[email protected]>
* | | Remove QMake's -createstub optionJoerg Bornemann2019-08-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This undocumented option was introduced in 69c22301806b56d56cbe5f5076b889ba98e41a2b (old internal history, 2006) to prepare some unspecified change to configure that was never done. Change-Id: I60de731ac9bc6f6424c57574e59e9f6b4f6c5eb3 Reviewed-by: Kai Koehne <[email protected]>
* | | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-06-141-11/+19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/unix/unixmake2.cpp src/corelib/thread/qthread_unix.cpp tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp Change-Id: I1df0d4ba20685de7f9300bf07458c13376493408
| * | Merge remote-tracking branch 'origin/5.13.0' into 5.13Liang Qi2019-06-111-8/+12
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/wasm/qwasmintegration.cpp src/plugins/platforms/wasm/qwasmintegration.h Change-Id: Idf4c7936513fb1f21daa8f6105b8545f13447bb8
| | * | qmake: Escape trailing backslash for OBJECTS_DIR for MinGWKai Koehne2019-05-131-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qmake automatically appends a dir_sep to a few directory paths (see MakefileGenerator::initOutPaths), and various .pri and .prf files rely on that. Anyhow, for non-MSys MinGW on Windows this creates a problem, because mingw32-make will interpret the backslash in OBJECTS_DIR = some_path\ to escape the following newline. We have been working around this problem in various ways: - winmakefile.cpp just removes the trailing \ for OBJECTS_DIR, at the cost of not being compatible with logic in .prf/.pri files that rely on the separator. - winmakefile.cpp adds a '#avoid trailing-slash linebreak' comment for DESTDIR. Anyhow, this does not seem to work for mingw32-make: If you reference $(DESTDIR), the variable will contain trailing spaces. - unixmakefile2.cpp duplicates a trailing \ for DESTDIR. The last approach is now taken also for OBJECTS_DIR. Task-number: QTBUG-75257 Change-Id: Ie8171a990a9ce1cfbf1b94037252ef2392313338 Reviewed-by: Joerg Bornemann <[email protected]>
| * | | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-06-071-3/+7
| |\ \ \ | | |/ / | |/| / | | |/ | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp src/plugins/platforms/cocoa/qcocoaintegration.h src/plugins/platforms/cocoa/qcocoaintegration.mm Done-With: Jörg Bornemann <[email protected]> Change-Id: I5a61e161784cc6f947abe370aab8f2971a9cbe78
| | * Make sure .pc, .prl and .la files are created for header_only modulesJoerg Bornemann2019-06-031-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those modules are TEMPLATE=aux, so they weren't triggering the file creation here. To make this work properly we have to: - check for TEMPLATE aux in the right places - add a dummy target to INSTALLS to actually trigger the creation - initialize PRL_TARGET for aux templates Fixes: QTBUG-75901 Started-by: Thiago Macieira <[email protected]> Change-Id: Idce141629dd34287808bfffd159f92ac28c6c8b1 Reviewed-by: Thiago Macieira <[email protected]>
* | | Clean up class definitions of makefile generatorsJoerg Bornemann2019-05-161-5/+0
| | | | | | | | | | | | | | | | | | | | | Remove pointless constructors and destructors. Change-Id: I7aea8587bf3598b6f5324aac8898edf227475d63 Reviewed-by: Christian Kandeler <[email protected]>
* | | Prefix textstream operators with Qt::Lars Knoll2019-05-021-80/+80
|/ / | | | | | | | | | | | | As the non prefixed variants are deprecated Change-Id: I2ba09d71b9cea5203b54297a3f2332e6d44fedcf Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-061-1/+1
|\| | | | | | | Change-Id: Iec860bb703f983b7438e67c695b9c454e72b3e0f
| * qmake: Remove dead codeKai Koehne2019-04-051-1/+1
| | | | | | | | | | | | | | Silences a clang warning Change-Id: I5ade49326afcce964ffb5c24b5708977950d123e Reviewed-by: Joerg Bornemann <[email protected]>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-071-0/+2
|\| | | | | | | Change-Id: Ieb57137ee2b7d0c505e3531d5aa1bcb66978847e
| * qmake: add QMAKE_EXPORTED_VARIABLESOswald Buddenhagen2019-01-051-0/+2
| | | | | | | | | | | | | | because QMAKE_EXTRA_VARIABLES sometimes just ain't enough. Change-Id: I739e5b6510e4701ca0a86834e4f9a978d7ef1cf4 Reviewed-by: Joerg Bornemann <[email protected]>
* | Compile with QT_STRICT_ITERATORS definedLars Knoll2018-11-261-1/+1
|/ | | | | | | This will be the only options for Qt 6, so make sure the code compiles now. Change-Id: I23f791d1efcbd0bd33805bb4563d40460954db43 Reviewed-by: Oswald Buddenhagen <[email protected]>
* qmake: fix .prl file generation for bundlesOswald Buddenhagen2018-11-071-0/+2
| | | | | | | | amends 2b27646146a. Fixes: QTBUG-70444 Change-Id: I8bd310f5624ea0ac9260c7d9ea0d29b0c9caa077 Reviewed-by: Tor Arne Vestbø <[email protected]>
* qmake: make sure QMAKE_LIBS{,_PRIVATE} comes after LIBS{,_PRIVATE}Oswald Buddenhagen2018-10-121-2/+4
| | | | | | | | | | the early merging of LIBS* into QMAKE_LIBS* meant that we could not interleave them properly. defer the merging until the points of use. Task-number: QTBUG-70779 Started-by: BogDan Vatra <[email protected]> Change-Id: I890f98016c3721396a1f0f6f149a9e2b37d56d8e Reviewed-by: Liang Qi <[email protected]>
* qmake: nuke QMAKE_INTERNAL_PRL_LIBSOswald Buddenhagen2018-10-121-4/+1
| | | | | | | | | | | | it's unused now, and just complicates matters. its interaction with LIBS_PRIVATE & co. has always been a bit shaky. google produces no public hits outside qt itself, so let's assume it really remained internal. Change-Id: I6606bbabd44f1b76d84e97219e155e38d6f1b3a6 Reviewed-by: Liang Qi <[email protected]> Reviewed-by: BogDan Vatra <[email protected]> Reviewed-by: Simon Hausmann <[email protected]>
* qmake: remove support for static archive splittingOswald Buddenhagen2018-10-121-50/+14
| | | | | | | | | | this was introduced in 2002 supposedly for qnx4, but doesn't appear to have actually been used ever. remove it, as it's in the way now. Change-Id: I54dcabb61e1d3609a1e7a9fa4ff4b25509cfdb7a Reviewed-by: Liang Qi <[email protected]> Reviewed-by: BogDan Vatra <[email protected]> Reviewed-by: Simon Hausmann <[email protected]>
* qmake: rework .prl filename constructionOswald Buddenhagen2018-08-301-1/+6
| | | | | | | | | | | instead of trying to reverse-engineer it from the final target including extension and possible bundle path, construct the basename explicitly. this avoids that we mangle the filename if the actual target contains a period for some reason. Task-number: QTBUG-70097 Change-Id: I0bae9f010ab82e258680830250f8e28656f09d67 Reviewed-by: Thiago Macieira <[email protected]>