summaryrefslogtreecommitdiffstats
path: root/qmake/library
Commit message (Collapse)AuthorAgeFilesLines
* qmake: restore nothrow move special membersMarc Mutz2016-02-261-0/+14
| | | | | | | | | | | The user-defined copy assignment, copy constructor and dtor inhibit the move special member functions. Implement them manually. Change-Id: I0d38d7cf6c9611e13b5b081d734d01d6fe4d5276 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* qmake: de-duplicate QString::number() calls with same argAnton Kudryavtsev2016-02-081-2/+3
| | | | | Change-Id: I6e05b9ad3350bd0da5b8a6dc1389ae05315a33df Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* qmake: optimize container usage in the json handling.Anton Kudryavtsev2016-02-041-5/+11
| | | | | | | | | | | | | | | Iterate only once over QJsonObject, create key list by existing loop instead of create by QJsonObject::keys(), which contains internal loop. In common case if loop's statement is lightweight, then effect of optimization is significant, and vice versa. Also make addJsonArray() and addJsonObject() functions more homogeneous. Use reserve to optimize memory allocation. Change-Id: Id122cd1becfd34bb06640876b1c79e1d396d2a6b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: use reserve to optimize memory allocation.Anton Kudryavtsev2016-02-012-1/+6
| | | | | Change-Id: I6ace338512c24fd9dc11c767a28f0a63454076fa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: eradicate Q_FOREACH loops [already const]Marc Mutz2016-01-284-18/+18
| | | | | | | | (or trivially marked const) ... by replacing them with C++11 range-for loops. Change-Id: I1522e220a57ecb1c5ee0d4281233b3c3931a2ff8 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* qmake: eradicate Q_FOREACH loops [needing qAsConst()]Marc Mutz2016-01-283-10/+10
| | | | | | | | | ... by replacing them with C++11 range-for loops. To avoid detaches of these mutable Qt containers, wrap the container in qAsConst(). Change-Id: If086bea06fe26232a7bb99fad8b09fce4dc74c27 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* qmake: eradicate Q_FOREACH loops [rvalues]Marc Mutz2016-01-283-17/+34
| | | | | | | | | | | | | ... by replacing them with C++11 range-for loops. This is the simplest of the patch series: Q_FOREACH took a copy, so we do, too. Except we don't, since we're just catching the return value that comes out of the function (RVO). We can't feed the rvalues into range-for, because they are non-const and would thus detach. Change-Id: I5834620bf82f3442da7b2838363d351a0fb960a0 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* qmake: don't iterate over .keys()Marc Mutz2016-01-281-2/+2
| | | | | | | | | ... iterate over the container itself instead. Avoids temporary QList creation as well as the lookup cost when actually calling value(key). Change-Id: Icac867c30e63863cfa44a382eedd4d6df2070a59 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* qmake: replace a Q_FOREACH loop with QList::op+=Marc Mutz2016-01-281-4/+1
| | | | | Change-Id: Ibaa49f0d6ea5cbcb5d4d305ec9c55286eac5046e Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-261-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java src/dbus/qdbusconnection_p.h src/dbus/qdbusintegrator.cpp src/dbus/qdbusintegrator_p.h tests/auto/corelib/io/qdir/qdir.pro tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp Change-Id: I3d3fd07aed015c74b1f545f1327aa73d5f365fcc
| * QMake: replace QStringLiteral with QLatin1StringAnton Kudryavtsev2016-01-211-1/+1
| | | | | | | | | | | | | | ... in string comparisons. It's more efficient. Change-Id: I5d54ab7777a0838455eaaac671e735eb37bfe243 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-2115-255/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-086-20/+50
|\| | | | | | | | | | | Based on merge done by Liang Qi Change-Id: Id566e5b9f284d29bff2199f13f9417c660f5b26f
| * add enablers for printing project errors in cumulative modeOswald Buddenhagen2015-12-213-5/+12
| | | | | | | | | | | | | | | | | | | | 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>
| * make CONFIG feature evaluation failure non-fatal in cumulative modeOswald Buddenhagen2015-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | while we evaluate the features themselves in precise mode (which is the reason why they can error out), we do not want them to terminate cumulative project evaluation. Change-Id: I70f3e1bcb2ca04a70c74ff484749ca92c1cf6372 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qttools/90ee4094161b427c32581bca2f5286edb4fffdb1) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Add missing includes.Friedemann Kleint2015-12-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | After 90e7cc172a7521396bb2d49720ee4ceb9a9390b3, QStringList no longer includes QDataStream. This also reverts commit c1be0fbe7d17b67c330c0c90eb9ba8a0536c2121, which did the same in a worse way. Change-Id: Ib10622b0da3b3450d29fc65dc5356fde75444a8f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> (cherry picked from qttools/376501ae5a86859821c0e89b2e8fbc9906d11e07) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * make write_file() capable of making files (not) executableOswald Buddenhagen2015-12-214-13/+35
| | | | | | | | | | Change-Id: I9ca96bc3408160261781697a3471c1f446c86c3a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-047-49/+82
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/unix/ptrsize.test configure src/corelib/global/qnamespace.h src/network/socket/qabstractsocket.cpp tests/auto/other/networkselftest/networkselftest.pro Change-Id: Ic78abb4a34f9068567cea876861d4220f5a07672
| * Use QFileInfo::exist(f) instead of QFileInfo(f).exists() if possiblehjk2015-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | Faster. Change-Id: I91aa67462e11ff3258600d7f158de79942d0dc81 Reviewed-by: Marc Reilly <marc.reilly@gmail.com> Reviewed-by: Christian Stenger <christian.stenger@digia.com> (cherry picked from qtcreator/a439483d704113286370e7e93e0e6bc16199d8ab) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * QMakeGlobals::expandEnvVars: Make saneDaniel Teske2015-10-271-24/+18
| | | | | | | | | | | | | | | | | | | | | | Use indexOf() to match individual characters, which is a lot faster than QRegExp. As a side effect, don't try to expand what we just inserted. Change-Id: I964fbd92055f2f2649e7d8ed5739cf1fc7cae927 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com> (cherry picked from qtcreator/2cc17a61eb6d0fee80fd388fcc5be03a59e4f2b5) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Remove Qt version checks.Christian Kandeler2015-10-271-4/+0
| | | | | | | | | | | | | | | | | | | | Qt 5.3 is the minimum requirement these days. Remove all fallback code from sources and project files. Change-Id: If6188a471197acadda4d6baee71804ba1a8026c6 Reviewed-by: Eike Ziller <eike.ziller@digia.com> (cherry picked from qtcreator/847f10e9ccc8c3541782a790e04c85c6b4c701da) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Use Qt 5's QStringList::join(QChar)hjk2015-10-271-4/+4
| | | | | | | | | | | | | | | | | | Less typing and less cycles than join(QString) where appropriate Change-Id: I6ebc0e17e4d7fd9845864dd95b7de4ba4dad6906 Reviewed-by: Eike Ziller <eike.ziller@digia.com> (cherry picked from qtcreator/6431ab2c799553623ec3fe6a79f1e85484558dd6) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * consider qt resource paths absoluteOswald Buddenhagen2015-10-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | this fixes an assertion failure with qt4 mingw specs when PATH contains a "." element. Task-number: QTCREATORBUG-12528 Change-Id: I2b6b7e02cf38881d40bd78bb0d705f7d58d0736c Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> (cherry picked from qtcreator/d0428a05220ed0550dd84cdb8299a1fb37b0fe72) Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
| * avoid that a bad qmakespec path crashes the evaluatorOswald Buddenhagen2015-10-271-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | assigning a relative path to QMAKESPEC or QMAKESPEC_ORIGINAL (in the qt4 windows legacy code) would lead to an assert further down the line. just ignore such attempts silently. Task-number: QTCREATORBUG-8477 Change-Id: Ie53d0ef004c743284b85de4e89f112e0161ff4b7 Reviewed-by: Daniel Teske <daniel.teske@digia.com> (cherry picked from qtcreator/e017a1dc8b2030e509d6198315e9f6a9869667e7) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * add ProFile::tokPtrEnd()Daniel Teske2015-10-271-0/+1
| | | | | | | | | | | | | | | | | | just syncing up with qtcreator. Change-Id: I2bda6961f6f1164bdc58acd78fa3d2221977f0cf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtcreator/765ad6c3d28813d4baa0aeafd03076ba76557d3d) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * fix raw data leak in $$sprintf()Oswald Buddenhagen2015-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | it could be only triggered by abusing the function (no expansion actually done), and nobody is using this to start with, but still ... Change-Id: I3d4a23ae4d1eea07955572d8213094e0dc218f6d Reviewed-by: Daniel Teske <daniel.teske@digia.com> (cherry picked from qtcreator/cdc2a0f72334268684e0407e9b04b3188e00d4bf) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * micro-optimization: use ProStringList::join(QChar) overloadOswald Buddenhagen2015-10-271-1/+1
| | | | | | | | | | | | | | Change-Id: I25c6205df78da7fbee0ad1b04476f528f376b7a6 Reviewed-by: Daniel Teske <daniel.teske@digia.com> (cherry picked from qtcreator/701a82d3a2185702c09dfecb361853fc18947807) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * QmakeParser: Do not leak temporaries into cache of filesTobias Hunger2015-10-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents an access to free'd memory when opening qtcreator.pro. Looks like qml2puppet.pro gets added to that cache in QMakeVfs::writeFile with part of the including pro-file's filename in it. That part gets cleaned when that containing ProFile goes out of scope, leaving a key in QMakeVfs::m_files free'd but accessible. Change-Id: I80b43d2fbb66c214647497ea97e6e3a587e274d6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtcreator/336c3159617cdb3edd35021b5fb312d4d43f9a84) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * ProParser: Plug raw data leakDaniel Teske2015-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | QProcessEnvironment caches keys, so we must not pass it QStrings created with fromRawData() Task-number: QTCREATORBUG-9142 Change-Id: I29fade02f3bc4110fafb1b04d44f2e653951a2ae Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtcreator/99f15f1706868c4b2f84bc4164451bd69b3b8188) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * don't complain about missing include()s during cumulative evaluationOswald Buddenhagen2015-10-271-0/+2
| | | | | | | | | | | | | | | | | | it produces simply too many false positives. Change-Id: I3dfa109866450babe5c16f84665ad22024d99e42 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qttools/08bae158320f6d73bf44fcf43f45f51a01334544) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * execute some loops even in cumulative modeOswald Buddenhagen2015-10-271-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we execute foreach loops now. this is (mostly) safe nowadays, because a previous change added precautions against exponential value list growth, so it's unlikely that two nested loops would keep the cpu busy for a day as before. we continue to exclude forever loops and loops with excessive integer counts. Task-number: QTBUG-8550 Change-Id: Iaa116086986cc7fd5023834753f791dd205102e5 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qttools/dd4d594c787a62fa8aa12695c5d115c71b59bacd) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * QmakeProject: Fix crash on updating sourcesDaniel Teske2015-10-271-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ProFileCacheManager::discardFile(s) may remove an entry from the ProfileCache only when it is unused (which is the case iff ent->locker is zero). Change-Id: I9df2079087af6bd0d35dd121db6222e8a6ec9389 Task-number: QTCREATORBUG-14730 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> (cherry picked from qtcreator/dedcd25924743e494055c1e0195aeef0f3983a1d) (cherry picked from qtcreator/b335b2a083e456e2b44b1e9454a0f4cd41e2a397) (cherry picked from qtcreator/a027cbcd7051c634a51b6029dcb8a5b4bfe8b046) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | QMake: Add option to set qt.conf file.David Schulz2015-10-273-1/+9
|/ | | | | Change-Id: Ie5db11892ccf2d357773a4db6a0464bf27be9a26 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: mark some types movableMarc Mutz2015-07-081-0/+1
| | | | | | | They are already held in QVector. Change-Id: Ib1266956c860ecd4671501ab12ab932a8ce9b7d6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-07-011-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qglobal.h src/corelib/global/qsysinfo.h src/corelib/global/qsystemdetection.h src/corelib/kernel/qobjectdefs.h src/plugins/plugins.pro tests/auto/widgets/itemviews/qlistview/qlistview.pro Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
| * Replace MAC OS X with OS XNico Vertriest2015-06-301-1/+1
| | | | | | | | | | | | Task-number: QTBUG-46374 Change-Id: I7bc633ab551740bd328a24b0ccae1d534af47138 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-036-36/+54
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qnamespace.qdoc src/corelib/io/qwindowspipereader.cpp src/corelib/io/qwindowspipereader_p.h src/corelib/statemachine/qstatemachine.cpp src/corelib/statemachine/qstatemachine_p.h src/plugins/platforms/xcb/qxcbconnection.h tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp tests/auto/tools/qmake/tst_qmake.cpp tests/manual/touch/main.cpp Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
| * add qmake evaluator testOswald Buddenhagen2015-05-201-0/+1
| | | | | | | | | | Change-Id: I31b95daede5edef245dd1ba447f2937a0db34232 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * move get{,Hash}Str from QMakeEvaluator to ProFileOswald Buddenhagen2015-05-204-28/+32
| | | | | | | | | | | | | | this makes it possible to use these functions without an evaluator. Change-Id: I23e4ec141b427f4c3c8b647305532be179058c07 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * remove bogus parens from error messagesOswald Buddenhagen2015-05-201-2/+2
| | | | | | | | | | Change-Id: I2683a4fb19a7251dc537e3265db3ba28079eb4b8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * trim whitespace from windows error messagesOswald Buddenhagen2015-05-201-1/+1
| | | | | | | | | | | | | | the messages contain a trailing CRLF, which is not helpful. Change-Id: I4a27115a191dc416a62e28a41f2a9c5893bdc64b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * remove trailing dots from some error messagesOswald Buddenhagen2015-05-201-3/+3
| | | | | | | | | | | | | | | | the i/o functions are not very consistent about having the dot already in the message. the windows api does, and qt passes this on. Change-Id: I2d1a213965e15478985d6eff205689ea44aa2a03 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * make defined() error message tell about "var" typeOswald Buddenhagen2015-05-201-1/+1
| | | | | | | | | | Change-Id: I21d994ebaee2db0d9b114812a8f89bb680ca311e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * make infinite loop protection work even without an iterator variableOswald Buddenhagen2015-05-201-2/+2
| | | | | | | | | | | | | | ... (which is the usual case). Change-Id: I464b6b284f963df45c7340ed079d540b528136f0 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * fix quote nesting in split_value_list()Oswald Buddenhagen2015-05-201-1/+2
| | | | | | | | | | | | | | a single quote must not disrupt a double quoted string and vice-versa. Change-Id: Ibb277bc1c930a7dbe9199ca572507ababbcfae4c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * add autotest for ProStringOswald Buddenhagen2015-05-201-0/+12
| | | | | | | | | | | | | | also adds documentation, which is kind of a sanity test. ehm. Change-Id: I6b520e8b505a2bfbb1e376fa72be0f140227a3a4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | deprecate DEPLOYMENT variableJoerg Bornemann2015-06-021-1/+2
|/ | | | | | | | | | | | | | Deprecate the qmake variable DEPLOYMENT that was used for installing files on remote devices for Windows RT and Windows CE Visual Studio projects. Use INSTALLS for both nmake and Visual Studio projects. [ChangeLog][core][qmake] Deprecated the qmake variable DEPLOYMENT in favor of INSTALLS. Task-number: QTBUG-21854 Change-Id: Ia9d2c69feb7d87b0b9dc69ff7c0a68be35a57acd Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* add autotest for qmake parserOswald Buddenhagen2015-02-253-0/+259
| | | | | Change-Id: Ib3dcb6c1aaac20ca6a3bc0dc564e16ec7bd152db Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* catch missing closing braces outside any scope as wellOswald Buddenhagen2015-02-251-1/+1
| | | | | | | | it doesn't make a whole lot of sense, but it's possible to create braced blocks which have no semantic meaning. Change-Id: Id55dfdee1aa3fade507cbd1eb34bdffcd7eb6bff Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't make an even number of bangs almost entirely invisibleOswald Buddenhagen2015-02-252-10/+9
| | | | | | | | otherwise we'd silently accept this nonsensical code: !!defineTest(foo) {} Change-Id: I66b59c8a89852c6451ce8d7269a3dc66a53e3b1f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>