summaryrefslogtreecommitdiffstats
path: root/qmake/library/qmakebuiltins.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qmake: use std names on a linked listMarc Mutz2019-05-131-6/+6
| | | | | | | | This is preparation of moving from QLinkedList to std::list, which is in preparation of deprecating QLinkedList. Change-Id: Ief259bc8c7178be5ca04812c6890cf65d86c069d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QString: mark obsolete functions as deprecatedChristian Ehrlicher2019-03-041-2/+1
| | | | | | | | | | Mark obsolete functions in QString as deprecated so they can be removed with Qt6: - QString::sprintf() - QString::vsprintf() Change-Id: I9b7748db95291c34b95ff3ad3e3aabc8215aeaae Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* qmake: add $$read_registry() functionOswald Buddenhagen2019-01-051-1/+39
| | | | | Change-Id: I7f9f17e0f44c273e4754d1decc92a8594cad8658 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmake: Apply modernize-use-nullptrAlessandro Portale2018-08-081-1/+1
| | | | | | | Use nullptr instead of 0. Change-Id: Ib3120b9c424a274a2d4dd4c42ec5d7cd5bdead65 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge branch '5.11' into devEdward Welbourne2018-07-311-163/+167
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/library/qmakebuiltins.cpp src/plugins/platforms/windows/qwindowstabletsupport.h src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/widgets/styles/qstylesheetstyle.cpp tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp Done-With: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I000b0eb3cea2a5c7a99b95732bfdd41507cf916e
| * qmake: break out testFunc_cache() from evaluateBuiltinConditional()Edward Welbourne2018-07-201-163/+167
| | | | | | | | | | | | | | | | | | | | It's 160ish lines and adequately isolated. Still, it *might* be contributing to compilers being slow (unlikely though that seems) so seemed worth tidying up anyway. Task-number: QTQAINFRA-2117 Change-Id: I9e55e677552c273fdf3480ccefc229fd6fd2b66a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: make access to raw data temporaries safeOswald Buddenhagen2018-06-271-71/+103
| | | | | | | | | | | | | | make sure the access is properly scoped and does not recurse. Change-Id: Iaa345cd2771811281b9ed6f634c70235a78c3c33 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qmake: centralize resolution of file name arguments to qmake functionsOswald Buddenhagen2018-06-271-17/+21
| | | | | | | | | | Change-Id: Id867e4653b0ec506332174ae67c9ee21e722c1e3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qmake: make argument validation of built-ins data drivenOswald Buddenhagen2018-06-271-769/+586
| | | | | | | | | | | | | | | | | | | | | | | | | | at the time this patch was conceived, it was meant as an exercise in getting rid of usages of ProString::toQString(m_tmp). however, this was meanwhile superseded by use of toQStringView(). but the change itself should have been done a long time ago already, and there is no harm in going through with it. on the way, this also unifies and fixes some of the error messages. Change-Id: I337aff994c508df783df4794c3fa0762d83a691b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-06-071-3/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/kernel/qeventdispatcher_cf.mm src/gui/kernel/qguiapplication_p.h src/gui/kernel/qwindowsysteminterface.cpp src/gui/kernel/qwindowsysteminterface.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/qioseventdispatcher.mm src/plugins/platforms/windows/qwindowsdrag.h src/plugins/platforms/windows/qwindowsinternalmimedata.h src/plugins/platforms/windows/qwindowsmime.cpp src/plugins/platforms/winrt/qwinrtscreen.cpp Change-Id: Ic817f265c2386e83839d2bb9ef7419cb29705246
| * qmake: skip empty parts when splitting strings in some more placesOswald Buddenhagen2018-06-011-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and make it explicit where we can't do that for semantical or backwards compat reasons. most urgently, this fixes an assertion failure when $QMAKEFEATURES contains empty paths (e.g., due to a trailing semicolon). notable observation: QByteArray::split() has no argument for the split behavior (it always keeps empty parts). Task-number: QTBUG-47325 Change-Id: I72d4b2e154a2ed1802cfa98fb4a5211a68e43231 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qmake: make even more use QStringRef and QStringView overloadsOswald Buddenhagen2018-05-071-5/+4
|/ | | | | Change-Id: If067368529f89347a4618a24e2737e04b4fc0ce3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qmake: make VFS aware of exact vs. cumulative evaluationOswald Buddenhagen2018-03-291-10/+15
| | | | | | | | | | | | | sync-up with qt-creator; no effect on qmake. comment on cherry-pick: this is actually a lot more than a cherry-pick, because the dual VFS needs to deal with the file ids which were concurrently introduced on the qmake side. Change-Id: I2c1eb16c97526fa275a1c6a2eae9266d385859ac (cherry picked from qtcreator/424639ecac9d2e404d2bfaff7f46b45ed98664b8) (cherry picked from qtcreator/a8010b0fff47d903d4a1f80e3adb1a2ef41beb33) Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Make sure $$relative_path() uses an absolute path as its first argEdward Welbourne2018-03-221-2/+6
| | | | | | | | | | | | | | | | Thanks to QTBUG-61373, this qmake function was called with /usr/local/5.10.1 as baseDir, which isn't absolute, leading to an assertion failure. We could raise the error within qmake but it proved easier to simply resolve any non-absolute baseDir using PWD, before trying to use it as an absolute path. Did the same for $$absolute_path(). Documented both. Adjusted the assert that caught this to report any non-absolute path that upsets it. Added simple tests, fixed an existing test. Task-number: QTBUG-66156 Change-Id: Icfef2e2f5b236e071177c9beffa38d71bf404292 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-141-6/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * qmake: require a drive in a DOS path for it to be absoluteEdward Welbourne2018-01-181-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Q_OS_WIN, a path is only truly absolute if it includes a drive letter; merely starting with a slash is not enough. (We can't support UNC paths, so don't even try: qmake runs various commands in the source directory using CMD.exe, which doesn't support UNC as PWD.) This requires, when resolving a path relative to a root, transcribing the root's drive to such not-quite-absolute paths. Changed QMakeGlobals, $$absolute_path() and $$relative_path() to now use IoUtils::resolvePath() rather than delegating to QDir's absolute path method, since that doesn't correctly recognize the need for a drive letter (and qmake did run into problems with some paths, from splitPathList and a failing test, as a result). Moved existing ioUtils tests for handling of relative / absolute paths out into separate functions and expanded significantly. Fixed some existing tests to use an absolute path where one is needed; added two tests involving driveless (but rooted) paths; and fixed the test init to set a value for QT_HOST_DATA/src property (the lack of which lead to an assertion failure with this fix). Task-number: QTBUG-50839 Change-Id: I2bfc13c1bfbe1ae09997274622ea55cb3de31b43 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-311-33/+33
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: fix hypothetical raw data leak in $$replace()Oswald Buddenhagen2017-08-261-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the replacement value may well constitute the whole output string - this is in fact common, given this rather typical usage pattern: BAR = $$replace(FOO, -flag, -otherflag) this must be considered when constructing the return value. compare 3c8134958c6. as of now, this is irrelevant, as QString::replace(QRegExp, QString) will always memcpy the replacement into a detached copy of the target, but one never knows. Change-Id: Ia1f271f45023746040fc28ce6d88a6609e05e5c2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qmake: fix hypothetical raw data leaks relating to qt i/o classesOswald Buddenhagen2017-08-261-5/+9
| | | | | | | | | | | | | | | | technically, we should not rely on the i/o classes not storing the strings beyond the instantiated object's life time. Change-Id: I0990769b3cf86860184869036c096c531160e9be Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qmake: make more use of ProString built-insOswald Buddenhagen2017-08-261-12/+10
| | | | | | | | | | | | | | saves some noisy toQString() uses. Change-Id: I62a9e2725c4baabac311124d19c7d8b40f54c8f7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qmake: fix raw data detach avoidanceOswald Buddenhagen2017-08-261-9/+3
| | | | | | | | | | | | | | | | | | the m_tmp array is a member, so the index toggle for accessing it also needs to be one - otherwise, odd iteration counts will defeat the mechanism. Change-Id: If7a800ed5a4b4168625daf1ebbd5d2d164569d8e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qmake: fix excessive detaching of raw dataOswald Buddenhagen2017-08-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | ... in $$basename(), $$dirname(), and contains(). the latter case is marginal, as it only applies to mutuals which are regexes, which i don't remember ever seeing used. QRegExp saves a copy of the matched string, so it's necessary to alternate between two temporaries to avoid detaching. we already did that in most places. Change-Id: I97b8294585c17c76d1756f83971f42cb88353af0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qmake: make yet more use of ProString::toQStringRef()Oswald Buddenhagen2017-08-261-6/+6
| | | | | | | | | | | | | | | | | | 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-7/+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-7/+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>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-04-201-57/+3
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qbytearray.h src/corelib/tools/qdatetime.h src/corelib/tools/qstring.h src/corelib/tools/qversionnumber.h src/plugins/platforms/android/qandroidplatformintegration.cpp tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp Change-Id: Iefd92a435e687a76cd593099e40d9a9620a1454d
| * Preserve last modification timestamps of installed filesSimon Hausmann2017-04-121-57/+3
| | | | | | | | | | | | | | | | | | | | | | On non-windows platforms, we use the "-p" parameter of install(1) to preserve the last modification timestamps of files. On Windows the use of copy does not preserve them. As a cross-platform solution, this patch introduces a simple built-in install command in qmake to copy files. Task-number: QTBUG-59004 Change-Id: I3064d29a2b8c7b009a1efbf8f00b84c079ea5417 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | QVersionNumber: add fromString(QStringView/QLatin1String) overloadsMarc Mutz2017-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parsing code anyway operated on a QByteArray created from toLatin1(), so expose this to the user by providing a QLatin1String overload. Also provide a QStringView overload, since we can. Port one user (in qmake) to the new overload. [ChangeLog][QtCore][QVersionNumber] Added QStringView and QLatin1String overloads of fromString(). Change-Id: Idbff44c3997f5cfa86ea1bce8b3da4b700a3d9cc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | qmake: use new QString::arg(QStringView) overloadMarc Mutz2017-04-071-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | QMakeEvaluator: port a QString::split() to a QStringRef::split() loopMarc Mutz2017-04-071-4/+4
| | | | | | | | | | Change-Id: I91a65776124f88a7e2e4778dbe9154b597f52212 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: Add test functions for comparing version numbersAlexander Volkov2017-03-201-0/+17
|/ | | | | | | | | | | | | | | qmake really lacks version comparing functions: users either use ugly constructions to compare versions by components, such as greaterThan(QT_CLANG_MAJOR_VERSION, 3)|greaterThan(QT_CLANG_MINOR_VERSION, 4): or even incorrectly compare versions as strings: !lessThan(apple_clang_ver, "5.1")|!lessThan(reg_clang_ver, "3.4"): Add test functions versionAtLeast and versionAtMost which use QVersionNumber to compare version numbers by components. Change-Id: I65e6b3c296d0301d544b7e38bf3d44f8d555c7fc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-131-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/network.pro mkspecs/features/mac/default_post.prf src/corelib/io/qfilesystemengine_win.cpp src/corelib/io/qprocess.cpp src/corelib/io/qprocess.h src/corelib/io/qprocess_p.h src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/corelib/thread/qmutex.cpp src/platformsupport/fontdatabases/windows/windows.pri src/plugins/platforms/eglfs/eglfsdeviceintegration.pro tests/auto/corelib/io/io.pro Change-Id: I8a27e0e141454818bba9c433200a4e84a88d147e
| * qmake: Check for QT_CONFIG(process) in qmakebuiltinsUlf Hermann2017-03-061-3/+3
| | | | | | | | | | | | | | | | | | The code in question is obviously checking for support of QProcess, not for general bootstrap mode. You can manually disable QProcess, in which case it is still not available after bootstrapping is done. Change-Id: Ia99810b8900621911a31912034358a01af4f18a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Improve time stamp precision of qmake's touch functionSimon Hausmann2017-03-011-1/+8
|/ | | | | | | | | | | | On POSIX compliant platforms, the default precision we apply to preserving time stamps is seconds. However we can do better and use utimensat() - if available - to increase the precision to nanoseconds. The values are provided by statbuf's st_mtim. This is guarded for compatibility with older systems, similar to commit 494ced13292fa9d7b572f5310090f6b8fab36e26. Change-Id: I6928660230d84f8511bf0f58e268906d2e575e04 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* move generation of qconfig.cpp (and qt.conf) to qmake-based configureOswald Buddenhagen2016-12-131-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* make qmake abort when $$prompt() gets EOFOswald Buddenhagen2016-12-131-5/+8
| | | | | | | | | | | | | | otherwise, infinite loops can result, as amply demonstrated by the new configure (which duly replicated the old configures' behavior ...). QMakeEvaluator::evaluateBuiltinExpand() now returns a VisitReturn like all other evaluate*() functions. the string list return value is now an out parameter; i used a reference instead of a pointer to avoid adjusting 56 usages of it. Task-number: QTBUG-13964 Change-Id: I51ca7df8d694c6ffe9d9899cba414b1b46f5ce95 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-161-2/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/linux-android.conf src/gui/opengl/qopengl.h src/network/socket/qnativesocketengine_winrt.cpp src/network/socket/qnativesocketengine_winrt_p.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/api/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp sync.profile Change-Id: If70aaf2c49df91157b864cf0d7d9513546c9bec4
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-151-2/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/plugins/platforms/eglfs/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp Change-Id: Id2da7c775439adb62646d5b741ee7c638042b34b
| | * fix $$section()'s bad argument count error messageOswald Buddenhagen2016-11-141-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | the autotest was also broken, because it was created by pasting the bogus message into the result ... Change-Id: I02b8663b96c7d96cdb3c19639e2213e49fd2bcec Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | qmake: make discard_from() patch up QMAKE_INTERNAL_INCLUDED_FILES as wellOswald Buddenhagen2016-11-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | when the file's effects are discarded, the mention of the file should be as well. Change-Id: I894b7e2b887dd34d18533b197bfa9d0d84d647e7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | qmake: let discard_from() discard function definitions as wellOswald Buddenhagen2016-11-151-0/+12
| | | | | | | | | | | | | | | | | | | | | for completeness. Change-Id: I3ffc14e041408c773e277442828170e3df04ec8d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | qmake: add "undecorated" mode to $$prompt()Oswald Buddenhagen2016-11-151-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | the normal mode forces the prompt into a pattern which may be undesirable. Change-Id: I01689c7a6573415801862348b32bafc6a609ed4a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Improve QMake JSON errorAllan Sandfeld Jensen2016-11-151-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | We can not improve the result from JSON parsing without changing API, so instead recalculate the line and column based on input and offset. Change-Id: I54149233f71023aa5d30deff854d6f3406c5c48c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-10-061-1/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/mac/default_pre.prf mkspecs/features/qpa/genericunixfontdatabase.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/resolve_config.prf mkspecs/macx-ios-clang/features/default_post.prf mkspecs/macx-ios-clang/features/resolve_config.prf src/corelib/io/qiodevice.cpp Change-Id: I6f210f71f177a3c3278a4f380542195e14e4b491
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-011-1/+3
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/mac/default_pre.prf mkspecs/macx-ios-clang/features/resolve_config.prf qtbase.pro Change-Id: I65b5ebca4942a4f295bdd4ac1568e5c347333aea
| | * report cumulativity of $$system() and evaluator error output as wellOswald Buddenhagen2016-09-291-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so far, we "downgraded" only explicit error() output, but other errors may happen as well while doing semi-exact evaluation of .prf files - at least hypothetically. amends 08d0cb6f8e. Change-Id: I32819a569dbed2dbdb37c5c23bf4a5a18d3c64ea Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> (cherry picked from qttools/ea1a5c3534f089c0e704808a0fb029eda8f753b4) Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | add discard_from() functionOswald Buddenhagen2016-08-251-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | this function discards all values that come from a specific file. it will be needed for configure bootstrapping, but is too obscure to document it for general use. Change-Id: I62c18aeb1847712e33d0599dbb0b90ffa1722438 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | make include(,<into>) implementation a bit less convolutedOswald Buddenhagen2016-08-251-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge dev into 5.8Oswald Buddenhagen2016-08-221-6/+17
|\ \ \ | | | | | | | | | | | | Change-Id: I41ee7b50534b01cf042bed8bb8824ba2e5026a29
| * | | add support for returning the command's exit status to $$system()Oswald Buddenhagen2016-08-101-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and make use of it in qtRunLoggedCommand(). Change-Id: I242dfde344f555800cef1f55d3cb85418a93277f Reviewed-by: Lars Knoll <lars.knoll@qt.io>