summaryrefslogtreecommitdiffstats
path: root/qmake/library/proitems.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-311-4/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/examples.pro qmake/library/qmakebuiltins.cpp src/corelib/global/qglobal.cpp Re-apply b525ec2 to qrandom.cpp(code movement in 030782e) src/corelib/global/qnamespace.qdoc src/corelib/global/qrandom.cpp src/gui/kernel/qwindow.cpp Re-apply a3d59c7 to QWindowPrivate::setVisible() (code movement in d7a9e08) src/network/ssl/qsslkey_openssl.cpp src/plugins/platforms/android/androidjniinput.cpp src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/widgets/widgets/qmenu.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp Change-Id: If7ab427804408877a93cbe02079fca58e568bfd3
| * qmake: remove seemingly pointless QString::detach() callsOswald Buddenhagen2017-08-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | it's not clear why detaching would be necessary; there is no danger of a raw data leak here. concatenating a QStringRef with a non-empty QLatin1String (the only expected use of this overload) will yield a detached QString anyway, so this makes little difference in practice. amends f137957e08. Change-Id: I521c0e89a8b0c1ae62b1450e81b0ae91a931bcfa Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qmake: make yet more use of ProString::toQStringRef()Oswald Buddenhagen2017-08-261-2/+4
| | | | | | | | | | | | | | | | | | in most cases, the main advantage is not using toQString(m_tmp), which reduces the possibility of raw data leaks. in cases where we used toQString() without temporary, this is a slight optimization. Change-Id: Ib343acffd383aa2c4fefab75fb52762fb534dfc6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-151-4/+6
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoamenu.h src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/widgets/styles/qstylehelper_p.h Change-Id: I54247c98dd79d2b3826fc062b8b11048c9c7d9bb
| * Change source identifier type in ProStringOswald Buddenhagen2017-08-151-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The strings remember in which file they were created/assigned. However, this used a non-counting reference to a ProFile, which could become dangling. If a subsequent ProFile re-used the exact same address, a string's source would be mis-identified, which would be fatal in conjunction with discard_from(). Since we actually need only a unique id for comparison, let's use an integer for that. Task-number: QTBUG-62434 Started-by: Simon Hausmann <simon.hausmann@qt.io> Change-Id: I395153afaf7c835d0119690ee7f4b915e6f90d4a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | qmake: use new QString::arg(QStringView) overloadMarc Mutz2017-04-071-0/+1
|/ | | | | | | | | | | | Add ProString::toQStringView() to avoid creating QStrings just to pass them to QString::arg() (single-arg; multiArg() does not, yet, accept QStringViews). I could have used the existing toQStringRef() function, but QStringRef is a tad more complex to copy and quite a bit less future-proof. Change-Id: I344c46f301768e844c487d36ce3e6cb276de8843 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* qmake: introduce magic bypassNesting() scopeOswald Buddenhagen2016-12-131-0/+3
| | | | | | | will be needed by configure. Change-Id: If14e6944fe84767bd67604ecde98076f873749ef Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* fix build with QT_NO_CAST_FROM_ASCIIOswald Buddenhagen2016-10-071-2/+2
| | | | | | | | | necessary for use outside qmake itself. amends f137957e08. Change-Id: Ie069f7b6efc969ab112e1f0ecd966eb06248fb94 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* make include(,<into>) implementation a bit less convolutedOswald Buddenhagen2016-08-251-0/+4
| | | | | | | | | | this goes at the cost of <into> without the subsequent dot not being filtered before the result insertion any more. that's not expected to be a problem, as it's not particularly useful to iterate the target namespace without the dot in the first place. Change-Id: Ib3497a60613b4c8c26676fe76b731239e427b8a7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* optimize operator+ ProString vs. char*Oswald Buddenhagen2016-08-251-2/+2
| | | | | | | | we have all necessary overloads now. Change-Id: Ic4472eba15d4234e968fcb9443d0f79011aa43fd Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* add $$sorted() function.Oswald Buddenhagen2016-05-251-0/+1
| | | | | | | | | | [ChangeLog][qmake] Added $$sorted() function. Change-Id: Ic069d3ef7c0b7a260c714c76eecc71c41417d01f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* make QMakeEvaluator::isActiveConfig() take a QStringRef argumentOswald Buddenhagen2016-05-241-0/+1
| | | | | | | | | | saves some more cheap but pointless conversions to QString. this makes the introduction of the ProStringList::contains(QStringRef) overload necessary. Change-Id: Ic61993bd9a4b28fbba1b8e346345fd5f5636c6f0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* add ProStringList::join(ProString) overload and make use of itOswald Buddenhagen2016-05-241-0/+1
| | | | | | | | this introduces an ambiguity, so some char* arguments need explicit QString construction now. Change-Id: Ic3919a1fa9419bbb3b57dd1aa7eb95643ee59e53 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* add ProString::toLongLong() and make use of itOswald Buddenhagen2016-05-191-0/+1
| | | | | | | this is just a bit cleaner. Change-Id: I03e628aca9e2e53c602a4db724da277a0e2c2486 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* optimize ProString::toInt()/toShort()Oswald Buddenhagen2016-05-191-2/+2
| | | | | | | QStringRef has respective overloads now. Change-Id: I9b94c53092ef3fdd62a68f5d3c5bacb98a14d8ec Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* 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>
* 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>
* 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>
* move get{,Hash}Str from QMakeEvaluator to ProFileOswald Buddenhagen2015-05-201-0/+3
| | | | | | | this makes it possible to use these functions without an evaluator. Change-Id: I23e4ec141b427f4c3c8b647305532be179058c07 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* add autotest for qmake parserOswald Buddenhagen2015-02-251-0/+1
| | | | | Change-Id: Ib3dcb6c1aaac20ca6a3bc0dc564e16ec7bd152db Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* move some functions into ProStringList for saner OO designOswald Buddenhagen2015-02-121-0/+4
| | | | | Change-Id: I60f00f38f459fc9f8eebee9187158e4198fc9546 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | 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>
* 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>
* update size calculations for assignment statementsOswald Buddenhagen2013-05-201-0/+1
| | | | | | | | | this was forgotten when the value lists were extended by a size hint. Change-Id: I6f9b55ed671224a9b8735c8d937f94aac4a73a42 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> (cherry picked from qtcreator/f24c9865306624c2fc150d4bd262a5c4d5a3689a) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* qmake:Add a case sensitivity flag to ProString::{starts,ends}With()Debao Zhang2012-12-211-8/+8
| | | | | Change-Id: I457cd8288ae8a0138f7b28321fe87be3308b5215 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* add base parameter to ProString::toInt and ProString::toShortJoerg Bornemann2012-12-171-2/+2
| | | | | Change-Id: I0c8b48e6491486ca829ce24ca2e284294ba0138a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* qmake: add ProStringList::join(QChar)Marc Mutz2012-09-211-0/+1
| | | | | | | | | | | Same reasoning as for 68e04c3ac148bcbe71f2deeb7288563f6cdbcab5 applies. Adding the overload was easier than to teach a Perl script to distinguish between QStringList and ProStringList instances... Change-Id: I6de6ecf21fdad135ac213b5c794927a9bc120a92 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* don't pretend that break()/next()/return() are functionsOswald Buddenhagen2012-09-131-0/+3
| | | | | | | | | | | | | | it's a pretty braindead thing to implement control flow statements as (built-in) functions. as a "side effect", this fixes return() value handling for lists. (cherry picked from qtcreator/f53ed6c4b3feca59a94d4f0de8b1a7411122e30e) (cherry picked from qtcreator/f529e22ec38fb9a656d74394e484d2453cf42c69) Change-Id: I59c8efa0e4d65329327115f7f8ed20719e7f7546 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* port qmake to qt creator's qmake language evaluatorOswald Buddenhagen2012-09-111-48/+216
| | | | | | | | | | | | | | | | | | | | | this is a monster commit which does the following things: - import the evaluator as-is from qt creator into qmake/library/ - integrate it into qmake's makefiles - overwrite proitems.h with actual special types - remove the parts of Option which are redundant with QMakeGlobals - make QMakeProperty a singleton owned by Option::globals. the dynamic handling so far made no sense. - make QMakeProject a subclass of QMakeEvaluator, with relatively few extensions the changes to existing qmake code outside project.* and option.* are minor. implementing the changes gradually would mean changing a lot of code which will be just replaced in the next commit, so i'm not wasting my time on it. Change-Id: I9746650423b8c5b3fbd8c3979a73228982a46195 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* introduce qmake variable abstractionsOswald Buddenhagen2012-09-071-0/+225
this is preparation for adapting to a new evaluator. Change-Id: I6fc59f5525735754a00afa6629fbfe257e84db97 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>