summaryrefslogtreecommitdiffstats
path: root/qmake/option.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix the qtpath issue with lto enabledAlexey Edelev2024-02-281-1/+1
| | | | | | | | | | | | Move qtconfManualPath pointer to the unnamed namespace, so it's never exported. Add the static setQtconfManualPath method that sets the pointer at runtime. Fixes: QTBUG-122739 Pick-to: 6.5 6.6 6.7 Change-Id: Icfc631f9680ad5f484920b0fdf3e408b7657c108 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* 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 <hjk@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* 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 <ivan.solovev@qt.io>
* Port from container::count() and length() to size() - V5Marc Mutz2022-11-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <ivan.solovev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Port from container.count()/length() to size()Marc Mutz2022-10-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* 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 <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-161-27/+2
| | | | | | | | | | | | | 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>
* 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 <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Apply Q_CONSTINIT across the codebaseMarc Mutz2022-03-291-1/+1
| | | | | | | | | Still not complete. Just grepping for static and thread_local. Task-number: QTBUG-100486 Change-Id: I90ca14e8db3a95590ecde5f89924cf6fcc9755a3 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* 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 <marc.mutz@qt.io>
* 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 <edward.welbourne@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix "qmake -spec foo" call for cross buildsJoerg Bornemann2021-04-261-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a cross built Qt, for example Qt for Android, calling "qmake -spec android-clang" led to an error message: "Could not find qmake spec '-qtconf'." This happened, because: - the qmake in Qt for Android is a wrapper script that calls "qmake -qtconf qt_target.conf -spec android-clang" - the first stage of command line argument handling in qmake garbled the call to "qmake -spec -qtconf qt_target.conf android-clang" We do not modify the order of arguments anymore. Instead, we skip the "-qtconf <file>" arguments in the first argument handling stage that is supposed to determine qmake's modus operandi (like -project or -query). In addition, we need to fix the assignment of QLibraryInfoPrivate::qtconfManualPath which was only done if QMakeGlobals::addCommandLineArguments returned ArgumentsOk. However, this function returns ArgumentUnknown, if it encounters an argument it cannot handle - like the project name. Now, we assign QLibraryInfoPrivate::qtconfManualPath if there was no error detected. Document the return values of addCommandLineArguments. This amends commit 661b586a69740bd9a1791622f8b238d290ebe00d. Pick-to: 6.1 6.0 Fixes: QTBUG-93079 Task-number: QTBUG-85136 Change-Id: I12ec25b17d64c00be2a3904b7c4a975b781500a0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix infinite loop in qmake option parsingJonas Karlsson2021-04-221-3/+4
| | | | | | | | | | If calling 'qmake -qtconf file' an infinite loop occurs. Bug introduced in 661b586a69740bd9a1791622f8b238d290ebe00d Pick-to: 6.1 6.1.0 6.0 Change-Id: I3ccc067570308227b605d700b41b299800aa872a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Unify QLibraryInfo settingsAlexey Edelev2021-03-171-3/+4
| | | | | | | | | | | Exporting QLibraryInfo internals allows to reuse settings in qmake/qtpath without having to keep its own instance. Also there is no need to check setting groups in QLibraryInfo except the 'Paths' group, since this logic belongs to qmake/qtpaths only. Change-Id: If762defba025ad7f7489f8a86ef5768a8628bd2f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Improve QMakeLibraryInfo encapsulationAlexey Edelev2021-03-011-54/+8
| | | | | | | | | | | QMakeLibraryInfo uses external data to produce paths. This causes issues when trying to use it out of the existing qmake environment. Add data fields that contain the path to the binary that uses QMakeLibraryInfo and manually specified qtconf. Task-number: QTBUG-75870 Change-Id: Ic6fa274ede3a9287826ff66c79f155b10d0d455c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Use Core library for qmake instead of the Bootstrap libraryAlexey Edelev2021-02-251-5/+7
| | | | | | | | | | | | | | | | | | | Move the qmake-specific logic of the QLibraryInfo class to qmake internals. 'qconfig.cpp.in' now stores information about the library info entries to keep them consistent between qmake and the Core library. qmake requires specific features enabled in the Core library, so building qmake will be skipped if the features are not enabled. All flags directly related to the qmake have been removed from Core lib. Remove all bootstrap related sections from qmake CMakeLists.txt Task-number: QTBUG-89369 Change-Id: I26de157d3bfd4a5526699296e9d46e1c180b89ae Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Remove usage of the definitions that are never definedAlexey Edelev2021-02-011-2/+0
| | | | | | | | The QT_BUILD_QMAKE_BOOTSTRAP and QT_BUILD_QMAKE_LIBRARY definitions are never defined in the project since migrating to CMake build. Change-Id: I7108c92387005a2fde6ebdb2d74843e3efc6413e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* If available, use a version-specific qt<major-version>.confRalf Habacker2021-01-141-3/+10
| | | | | | | | | | | To enable the current Qt version to use a qt.conf that is independent from the previous version, a file named 'qt<major-version>.conf' is searched for first. If this file does not exist, a file with the name 'qt.conf' is searched for. Task-number: QTBUG-88635 Change-Id: If75b63f72a7bdbdf1de7729ea4ecb00810b58d12 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Make "qmake -qtconf my-qt.conf -query" possibleJoerg Bornemann2020-10-231-0/+5
| | | | | | | | | It's now possible to put the -qtconf argument in front of the -query argument (and others). Fixes: QTBUG-85136 Change-Id: I74b78f084acf264ef637ed2f6cb63b655b176056 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Rename QLibraryInfo::location() to path()Lars Knoll2020-09-121-1/+1
| | | | | | | | As per ### Qt6 comment. Also rename the LibraryLocation enum to LibraryPath. Change-Id: I556025a19c5bcdf2ff52598eaba32269522d4128 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add ; to Q_UNUSEDLars Schmertmann2020-07-071-1/+1
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I3f0b6717956ca8fa486bed9817b89dfa19f5e0e1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Port qmake over to user QRegularExpressionLars Knoll2020-05-051-7/+9
| | | | | | | | | Use the DotMatchesEverythingOption for all places where we interpret .pro files, to increase compatibility with QRegExp. Change-Id: I347d6b17858069f3c9cedcedd04df58358d83f27 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Make Qt relocatableAlexandru Croitor2019-09-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore] Qt installations on the host system can now be relocated, i.e. moved to other directories. Add a new feature 'relocatable' that's by default enabled for non-static builds - on platforms where libdl is available, - on macOS when configured with -framework, - on Windows. If the feature is enabled, the directory where plugins, translations and other assets are loaded from is determined by the location of libQt5Core.so and the lib dir (bin dir on Windows) relative to the prefix. For static builds, the feature 'relocatable' is off by default. It can be turned on manually by passing -feature-relocatable to configure. In that case, QLibraryInfo::location(QLibraryInfo::TranslationsPaths) and friends will return paths rooted in the user application's directory. The installed and relocated qmake determines properties like QT_INSTALL_PREFIX and QT_HOST_PREFIX from the location of the qmake executable and the host bin dir relative to the host prefix. This is now always done, independent of the 'relocatable' feature. Note that qmake is currently only relocatable within an environment that has the same layout as the original build machine due to absolute paths to the original prefix in .prl, .pc and .la files. This will be addressed in a separate patch. Task-number: QTBUG-15234 Change-Id: I7319e2856d8fe17f277082d71216442f52580633 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Liang Qi2019-09-041-5/+4
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/codecs/qicucodec.cpp src/dbus/qdbusserver.cpp src/gui/painting/qbezier.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp src/plugins/printsupport/cups/qppdprintdevice.cpp Change-Id: I2703128bb64baf5580fbc2c2061b55b0f0611d2a
| * Remove broken wild card list from QMake's help outputJoerg Bornemann2019-08-241-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The description of the project mode looked like this: -project Put qmake into project file generation mode In this mode qmake interprets files as files to be built, defaults to *; *; *; *.ts; *.xlf; *.qrc The list of wildcards is incomplete. Unfortunately the file extensions are defined in QMAKE_EXT_* variables in mkspecs, and the help display code has no access to that data. This went unnoticed for quite some time, and fixing this is too involved considering the gain. Replace the text above with the static text below: -project Put qmake into project file generation mode In this mode qmake interprets [files] as files to be added to the .pro file. By default, all files with known source extensions are added. Change-Id: I815a50957c05dccc45e1cd6657f568599d1911f6 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Remove QMake's -createstub optionJoerg Bornemann2019-08-031-3/+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 <kai.koehne@qt.io>
* qmake: Apply modernize-use-nullptrAlessandro Portale2018-08-081-2/+2
| | | | | | | Use nullptr instead of 0. Change-Id: Ib3120b9c424a274a2d4dd4c42ec5d7cd5bdead65 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-141-1/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/animation/qvariantanimation.cpp src/corelib/global/qglobal.cpp src/corelib/global/qlogging.cpp src/corelib/io/qprocess_win.cpp src/corelib/json/qjsonarray.cpp src/corelib/tools/qsimd_p.h src/corelib/tools/qtimezoneprivate_p.h src/corelib/xml/qxmlstream_p.h src/gui/kernel/qsimpledrag.cpp src/gui/kernel/qsimpledrag_p.h src/plugins/generic/generic.pro src/plugins/platforms/cocoa/qcocoamenu.mm src/widgets/styles/qmacstyle_mac.mm tests/auto/concurrent/qtconcurrentmap/BLACKLIST tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/dialogs/qmessagebox/BLACKLIST Change-Id: I508d686cf20f7f8cc6a7119b9bc7c3bbb505c58e
| * Use a proper test for absolute path for qmake's locationEdward Welbourne2018-01-181-1/+4
| | | | | | | | | | | | | | | | | | QFileInfo.isRelative() deems any path starting with a slash to be absolute; on MS-Win, such paths need a drive specifier (unless they're UNC), so use IoUtils's more robust test for absolute paths. Change-Id: I7d0872a87833cbf1cc1a6ef107941adc4c529624 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Mark an unlikely test as such and condition in positive orderEdward Welbourne2017-07-071-7/+10
|/ | | | | | | | Also wrap two blocks in braces, since the formerly-else block spreads across many lines; and split those lines differently to limit length. Change-Id: Ib89329b11aad6599926f0338d6546f4141d2c002 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* qmake: Do not mix canonical and non canonical pathsOliver Wolff2017-04-111-1/+3
| | | | | | | | | | | | | When having Qt sources in a symbolic link "shadowed" did not work because _PRO_FILE_PWD_ used canonical path, while source_root did not. Due to this mix it was possible that shadowedPath did not find any "common denominator" and always returned and empty string. The first place where things broke was while running config.tests. Task-number: QTBUG-59319 Change-Id: If73ecbc58290ee9113f887a73c312ebfb5e20a33 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* add a bunch of complementary options to -afterOswald Buddenhagen2017-02-061-4/+10
| | | | | | | | in particular, -before (just for symmetry, as it's the default), -early (the actual objective), and -late (for symmetry again). Change-Id: I274303582a348b052c3e5106ff360ab4fd7d4ee2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* don't pass qmake configure arguments to sub-projectsOswald Buddenhagen2017-01-061-0/+1
| | | | | | | | | | | | | the arguments after '--' are by definition meant only for the top-level project, as that's where configure is invoked from. passing them to sub-projects just adds noise to the make output and misleads users. note that this specifically does not support qmake -r, which will break if the subprojects rely on the arguments being absent. this isn't a problem, because the qt build doesn't support qmake -r anyway. Change-Id: I7ecff6212ce3137526005fc324a4a7ae45e3345e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* revert to building qmake with qconfig.cppOswald Buddenhagen2017-01-061-5/+0
| | | | | | | | | | | | | | | | | | | | turns out that just appending builtin-qt.conf isn't a good idea: executable-editing tools (objcopy, prelink, etc.) will happily drop the "attachment". a safe method would be adding a proper section to the executable, but there doesn't appear to be an objcopy equivalent in msvc, and using entirely different methods of embedding the file with different toolchains seems like a rather bad idea. so instead go back to the old method of building qmake with a generated qconfig.cpp. of course, as said file is now created by qmake itself, we have to compile qlibraryinfo.cpp a second time, and link a second qmake executable. Task-number: QTBUG-57803 Change-Id: I9e232693550aa870cec154e49cc06add13017cc2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* move generation of qconfig.cpp (and qt.conf) to qmake-based configureOswald Buddenhagen2016-12-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | this moves us another step towards the "outer" configure doing just minimal bootstrapping of qmake. a challenge here was that so far, qmake itself needed qconfig.cpp. this was replaced by usage of a qt.conf file instead of compiled-in values. however, to make the executable still self-contained, that qt.conf is embedded into it (by simple appending of a fixed signature and the text file). the qmake with the embedded qt.conf is not used for the qt build itself, which instead relies on the qt.conf in bin/ as before. however, due to the missing built-in values, this file now needs to contain more information than before. but except for a minimal version that is needed to start up qmake/configure at all, that file is now also generated with qmake. as some of the newly set up properties are subsequently used by configure itself, qmake gains a (deliberately undocumented) function to reload the qt.conf after it's fully populated. unlike the old implementations, this one doesn't emit redundant qt.conf entries which match the hard-coded fallbacks. omitting them leads to leaner files which are more comprehensible. Started-by: Paolo Angelelli <paolo.angelelli@qt.io> Change-Id: I4526ef64b3c89d9851e10f83965fe479ed7f39f6 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* ensure that QMAKE_QMAKE always ends in .exe on windowsOswald Buddenhagen2016-11-151-4/+4
| | | | | Change-Id: I72d5eda83250a0c33af505005732c3f370a04c57 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* qmake: use reserve to optimize memory allocation.Anton Kudryavtsev2016-02-011-0/+1
| | | | | Change-Id: I6ace338512c24fd9dc11c767a28f0a63454076fa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Updated license headersJani Heikkinen2016-01-211-17/+12
| | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into devFrederik Gladhorn2016-01-081-1/+2
|\ | | | | | | | | | | Based on merge done by Liang Qi Change-Id: Id566e5b9f284d29bff2199f13f9417c660f5b26f
| * add enablers for printing project errors in cumulative modeOswald Buddenhagen2015-12-211-1/+2
| | | | | | | | | | | | | | | | | | | | this doesn't actually do anything in qmake. Change-Id: Ia14953a5a9dc31af56ad6c338017dd5b85bb4494 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qttools/08d0cb6f8e90a818bf6d3bec7a6d00f16419b8c0) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | QMake: Add option to set qt.conf file.David Schulz2015-10-271-0/+3
|/ | | | | Change-Id: Ie5db11892ccf2d357773a4db6a0464bf27be9a26 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Distinguish between Objective-C and Objective-C++ sourcesTor Arne Vestbø2015-10-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of lumping both Objective-C (.m) and Objective-C++ (.mm) sources into the same pile, passing them on to the same compiler as for C++ (CXX), with the C++ flags (CXXFLAGS), we follow Apple's lead and treat them as variants of the C and C++ languages separately, so that Objective-C sources are built with CC and with CFLAGS, and Objective-C++ sources with CXX, and CXXFLAGS. This lets us remove a lot of duplicated flags and definitions from the QMAKE_OBJECTIVE_CFLAGS variable, which in 99% of the cases just matched the C++ equivalent. The remaining Objective-C/C++ flags are added to CFLAGS/CXXFLAGS, as the compiler will just ignore them when running in C/C++ mode. This matches Xcode, which also doesn't have a separate build setting for Objective-C/C++ flags. The Makefile qmake generator has been rewritten to support Objective-C/C++ fully, by not assuming that we're just iterating over the C and C++ extensions when dealing with compilation rules, precompiled headers, etc. There's some duplicated logic in this code, as inherent by qmake's already duplicated code paths, but this can be cleaned up when C++11 support is mandatory and we can use lambda functions. Task-number: QTBUG-36575 Change-Id: I4f06576d5f49e939333a2e03d965da54119e5e31 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-111-8/+8
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* prune pointless assignments of QString::replace() and remove() resultsOswald Buddenhagen2015-02-021-4/+4
| | | | | | | they operate in-place. Change-Id: Iab6f2f6a9f6f67b9d70feb77ec719e424909022d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* avoid direct use of QLibraryInfo as much as possibleOswald Buddenhagen2015-02-021-1/+1
| | | | | Change-Id: Ic1f5f5167181b15bc67bf4c6a1001532d0058b45 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* complete reversal of adding QLibraryInfo to the bootstrap libraryOswald Buddenhagen2015-02-021-1/+1
| | | | | | | amends 684028a64. Change-Id: I8dcc4b74c4c0328c07711cd7253ff19a74ea2fbf Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* don't make relative paths if we don't know the top-level build dirOswald Buddenhagen2014-04-161-1/+1
| | | | | | | | regression from qt4. Task-number: QTBUG-37113 Change-Id: I34813f03d8ec686e3ecb49f66629079489a3d83d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* expand tabs and related whitespace fixes in *.{cpp,h,qdoc}Oswald Buddenhagen2014-01-131-2/+2
| | | | | | | | the diff -w for this commit is empty. Started-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I77bb84e71c63ce75e0709e5b94bee18e3ce6ab9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix warnings about unused variables & parametersOswald Buddenhagen2013-11-041-5/+4
| | | | | Change-Id: Ia5816671267ea21dae0d90560b239c4498f9156c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>