summaryrefslogtreecommitdiffstats
path: root/qmake/library/qmakeevaluator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* make split_value_list() take a QStringRef as inputOswald Buddenhagen2016-05-241-1/+1
| | | | | | | this also saves some of the cheap but ugly toQString() calls. Change-Id: Iebe644986501db3878306521c76e4ba2c2fb97b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* make QMakeParser take a QStringRef as inputOswald Buddenhagen2016-05-241-3/+3
| | | | | | | | | | the only place where this actually saves a deep copy is the evaluation of if(), but as a side effect the parser is now able to deal with not null-terminated strings, which is kinda nice as well. Change-Id: Ib6d08617aa79d2f9eaecd4906d4d548f34bf377d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* make QMakeEvaluator::isActiveConfig() take a QStringRef argumentOswald Buddenhagen2016-05-241-4/+4
| | | | | | | | | | 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>
* qmake: use reserve to optimize memory allocation.Anton Kudryavtsev2016-02-011-1/+4
| | | | | Change-Id: I6ace338512c24fd9dc11c767a28f0a63454076fa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: eradicate Q_FOREACH loops [already const]Marc Mutz2016-01-281-5/+5
| | | | | | | | (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-281-5/+5
| | | | | | | | | ... 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-281-6/+12
| | | | | | | | | | | | | ... 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: 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-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/+1
|\| | | | | | | | | | | Based on merge done by Liang Qi Change-Id: Id566e5b9f284d29bff2199f13f9417c660f5b26f
| * 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>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-041-13/+24
|\| | | | | | | | | | | | | | | | | | | | | 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>
| * 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>
| * 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>
| * 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>
* | QMake: Add option to set qt.conf file.David Schulz2015-10-271-0/+2
|/ | | | | Change-Id: Ie5db11892ccf2d357773a4db6a0464bf27be9a26 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-031-29/+14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * move get{,Hash}Str from QMakeEvaluator to ProFileOswald Buddenhagen2015-05-201-26/+10
| | | | | | | | | | | | | | this makes it possible to use these functions without an evaluator. Change-Id: I23e4ec141b427f4c3c8b647305532be179058c07 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>
* | 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>
* Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-241-0/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/xml/htmlinfo/simpleexample.html examples/xml/rsslisting/rsslisting.cpp qmake/generators/win32/msbuild_objectmodel.cpp src/3rdparty/harfbuzz-ng/src/hb-private.hh src/corelib/global/qlogging.cpp src/corelib/io/qstorageinfo_unix.cpp src/corelib/thread/qwaitcondition_unix.cpp src/gui/kernel/qguiapplication.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp src/testlib/doc/src/qt-webpages.qdoc tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: Ib272ff0bc30a1a5d51275eb3cd2f201dc82c11ff
| * fix fallback architecture for MSVCJoerg Bornemann2015-01-291-0/+4
| | | | | | | | | | | | | | | | | | Use x86 for a 32 bit build of qmake and x86_64 for 64 bit. This is needed for shells that do not set VCINSTALLDIR. Change-Id: I0843c1a590161669530b99f45ab59d523e6596c3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | move some functions into ProStringList for saner OO designOswald Buddenhagen2015-02-121-32/+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>
* | remove pointless return value from QMakeParser::read()Oswald Buddenhagen2015-02-041-14/+11
| | | | | | | | | | | | | | | | | | | | it always returned true nowadays. an obvious followup effect is that the return value of parsedProBlock() doesn't need to be null-checked any more as well. Change-Id: I782785cab9b721a78a342a010921a73e642ebe7f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-211-15/+42
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/global.pri src/corelib/global/qcompilerdetection.h src/corelib/global/qglobal.h src/corelib/tools/qdatetime.cpp src/plugins/platforms/xcb/qxcbscreen.h src/plugins/platforms/xcb/qxcbwindow.h src/widgets/dialogs/qcolordialog.cpp src/widgets/dialogs/qcolordialog_p.h tools/configure/configureapp.cpp Change-Id: Ie9d6e9df13e570da0a90a67745a0d05f46c532af
| * fix MSVC target architecture detection for amd64_x86Joerg Bornemann2015-01-161-15/+42
| | | | | | | | | | | | | | | | | | | | | | When using the cross-compiler toolchain for 32 bit on a 64 bit machine, qmake generated a 64 bit VS project. This was because qmake didn't know about the amd64_x86 cross-compiler, and qmake did not use the first MSVC bin directory it found in PATH. Task-number: QTBUG-43457 Change-Id: I50c6f7bb9afe44a58321c670d680dbcc7cd07223 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Let qmake find the number of processors onlineThiago Macieira2015-01-111-0/+37
|/ | | | | | | Instead of trying to load in ltcg.prf and cache the value. Change-Id: If485ff68fc6ff9d9cf7009cd72d5e702d0199c7f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
* pass a pointer instead of a reference to initFrom()Oswald Buddenhagen2014-06-201-10/+10
| | | | | | | | | | msvc thinks that it's impossible to create a null reference (because some language lawyer said so) and thus complains about our assert that checks the reference's validity. work around by not dereferencing the pointers we already have. Change-Id: Ife2288d4187860105de12fdebc0e671e0159ace3 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* don't turn = into += in cumulative modeOswald Buddenhagen2014-01-151-25/+4
| | | | | | | | | | | | | | | | it leads to pathological cases where the number of loop iterations may go way beyond the reasonable. this means that users need to avoid using the = operator in alternative branches that lead to different sources/subdirectories being included into the project. this is a bit of a corner case anyway, as people usually add directly to SOURCES/SUBDIRS. Task-number: QTCREATORBUG-1595 Change-Id: I7783e318fbc2790f6a853ba4e3f4a12db881feb5 Reviewed-by: Daniel Teske <daniel.teske@digia.com> (cherry picked from qtcreator/30bd7fcce1aef974f6af9eaa6532aa1f2b6192d2) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* set QMAKE_INTERNAL_INCLUDED_FILES even without PROEVALUATOR_FULLOswald Buddenhagen2014-01-151-4/+0
| | | | | | | | | | some qt prfs use this variable, so better set it it to avoid some noise. Change-Id: I606c88dd7664b1cd8b490d60badd5c6bf80fd1c9 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtcreator/e64cc71194cbe283dfe9bd2cd688f01fcdcadf34) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* do not look for mkspecs/ directories in project treesOswald Buddenhagen2014-01-071-21/+0
| | | | | | | | | | | | | this pretty surprising behavior would interfere with building the examples from an installed qt tree with qmakes from other qt builds. .qmake.conf (and .qmake.cache) files provide a possibility to explicitly "anchor" project roots, so there is no point in having a second, even more magic way to do it. Task-number: QTBUG-35485 Change-Id: I8fd4fda67cabafdf55e7a98282dcdfaffb4a405e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* support a cache that is really just a cacheOswald Buddenhagen2013-11-141-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | unlike .qmake.cache & co., the presence of this file has no magic effects on where mkspecs, modules and other things are searched. as the obvious name "cache" is of course already taken, we call it "stash". the file is searched up to the super cache (if present), otherwise up to the normal cache/conf (if present), otherwise up to the root. if it's not found, it is created next to the super cache (if present), otherwise next to the cache/conf (if present), otherwise in the current output directory. note that the cache really should be created and populated by the top-level project if there are subprojects: otherwise, if there is an "anchor" (super/cache/conf), subprojects would race for updating the cache and make a mess. without an "anchor", each subproject would just create its own cache, kind of defeating its purpose. this is no different from the existing "cache", but it's worth mentioning that removing the "anchoring" function does not remove the "nesting order" constraint. Task-number: QTBUG-31340 Change-Id: I786d40cef40d14582a0dd4a9407863001bec4c98 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* move setting of _QMAKE_{SUPER,CONF,CACHE}_ to a more logical locationOswald Buddenhagen2013-11-041-24/+25
| | | | | | | | | | | | | there is no point in setting the variables already when peeking into the caches, as that is done in a separate evaluator anyway. it also makes no sense to have them set while loading the spec itself, as it's not permitted to do anything with the caches. so set them at the next convenient point, which is right before actually loading the caches. Change-Id: I3717ddf94353dc04e12c52e542f16ed27b578e14 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: Expose qmake arguments as QMAKE_ARGSTor Arne Vestbø2013-10-241-0/+2
| | | | | | | | Allows project files or mkspecs to call qmake recursively using system() with the right arguments, which we use to fix the ios default_post.prf. Change-Id: I90d69e2b156bb0f0af1279188b11f81c84c24fb8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: Update internal mkspec on changes to QMAKESPECTor Arne Vestbø2013-10-111-1/+8
| | | | | | | | | | Allows the macx-xcode mkspec to be a wrapper around other mkspecs. Since QMAKESPEC can now be set in the spec, we have to ensure not to append to QMAKESPEC. Change-Id: Idf33ff38147f14c488f14b426c02d9a739fdaecf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: Evaluate extra configs before loading default_preTor Arne Vestbø2013-10-111-6/+18
| | | | | | | | | | Exclusive builds uses setExtraConfigs to apply the particular CONFIG of each build pass. Unfortunately we were not applying these extra configs early enough in QMakeEvaluator::visitProFile() for them to be picked up/usable by default_pre, something that can be useful. Change-Id: I423a4688250a15f0c1a2cc65a48f0bbc14ad4497 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: Load extra variables only if also loading pre-filesTor Arne Vestbø2013-10-111-4/+4
| | | | | | | | | | The extra variables only need to be applied once, when we are loading the pro file (and hence are loding pre files), not for every single pri/prf that's loaded as a result of that (which do not load pre files themselves). Change-Id: I3118694a8eeccf2dc32c4f62df754033fad13528 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* make setting a bad $$[QMAKEFEATURES] not crash qmakeOswald Buddenhagen2013-10-071-2/+2
| | | | | | Task-number: QTBUG-29642 Change-Id: I9cc209eb313f03bf342bcb64b1de3005755700a7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Expose ARGC to qmake functions to be able to check argument countTor Arne Vestbø2013-09-211-0/+2
| | | | | | | | | ARGS already exists, but is a flattened list of the arguments, so both foo(bar, baz) and foo(bar baz) will give count(ARGS, 2), making it unreliable for validating arguments to qmake functions. Change-Id: I0bcc16614c64000169431327da48fd1a26708e67 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* lock baseEnv in cache()Oswald Buddenhagen2013-08-271-31/+29
| | | | | | | | | | | | sync up; this doesn't actually do anything in qmake. as we modify the environment, it must be properly locked. this implies that initFrom() also needs to be called with a lock. Task-number: QTCREATORBUG-9835 Change-Id: I48bae9af9adaa0518e5a9db0ba08ff057ae14f9f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtcreator/d022a2d19cecb00397c2a215fc4e3bf64b1e627b)
* always check for baseEnv init failureOswald Buddenhagen2013-08-271-0/+2
| | | | | | | | | | | | | sync up; this doesn't actually do anything in qmake. creator's file watcher can trigger many parallel, entirely non-hierarchical project reloads. if there is enough of them to exceed the thread pool size, some will be serialized already by qtconcurrent, not by our wait condition. these should notice a faulty spec, too. Change-Id: I8ce40cb90fbc28045127881d57ec94e125df79af Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtcreator/759d0a69dd3973b4785b6f9412f46666a05cdf85)
* change reporting of missing filesOswald Buddenhagen2013-08-201-3/+4
| | | | | | | | | | use the new parser flags to report all i/o errors directly. as a notable side effect, the "WARNING" prefix is gone (even though it is still treated like that, which is mildly insane to start with). Change-Id: I084375d5e7a3314ae763795f7c318804a9fb84b6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>