Commit Graph

181 Commits

Author SHA1 Message Date
Marc Mutz
5c812f77e2 qmake: replace a Q_FOREACH loop with QList::op+=
Change-Id: Ibaa49f0d6ea5cbcb5d4d305ec9c55286eac5046e
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
(cherry picked from qtbase/dce2612a7c511e85c5a1b46d1e76b88b56be4c99)
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-02 07:55:20 +00:00
David Schulz
69088860eb QMake: Add option to set qt.conf file
Change-Id: Ie5db11892ccf2d357773a4db6a0464bf27be9a26
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
(cherry picked from qtbase/dbf1c2eb9f4e1feb24a58699b7b550016802e386)
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-02 07:55:13 +00:00
Oswald Buddenhagen
1a58cd361a fix custom functions inheriting other functions' arguments
Task-number: QTBUG-41830
Change-Id: Iba3eee4975a1ee671b7190e52c0efc9a18147c62
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
(cherry picked from qtbase/dacf3994ba29106132c3a377dba303acdb74daca)
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-02 07:54:46 +00:00
Oswald Buddenhagen
32f3eccade make error() propagate from requires() and REQUIRES=
that can make sense if a function which determines the availability of
a dependency fails to do so for unexpected reasons.

Change-Id: If6cd113df25aee66830c120a2fab067c822a4543
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from qtbase/1b4ea11332f74984a62a4cc4597ad49f5b5269dc)
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-02 07:54:41 +00:00
Oswald Buddenhagen
3fe303ebfe make error() propagate from custom replace functions
it didn't, which is rather unexpected.

Change-Id: I8cdb7b1490a8c2207809812b93cc65fbe23a1b98
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from qtbase/339b9706ccbed4063a92337c9994731793558b0a)
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-02 07:54:36 +00:00
Oswald Buddenhagen
b4ac7f6d2c fix error() not propagating through if()
if() would simply "downgrade" a fatal error to a false condition, which
is certainly not expected.

Change-Id: Ie9c54f2bddf588856498bf795007b341b7c9363a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from qtbase/b27d4835c2ae0d8767ca914acb72a4bdcea6fc85)
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-02 07:54:30 +00:00
Anton Kudryavtsev
73fead33dc QMake: replace QStringLiteral with QLatin1String
... in string comparisons. It's more efficient.

Change-Id: I5d54ab7777a0838455eaaac671e735eb37bfe243
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
(cherry picked from qtbase/f384c3097911c523e67620b77b1086e4788cd209)
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Anton Kudryavtsev <a.kudryavtsev@netris.ru>
2016-08-02 07:54:05 +00:00
Tobias Hunger
1b4321279f Update License according to agreement with Free Qt Foundation
* Update files in src/share* and src/tools

Change-Id: I78aa5d4a1d76212964e467de7676c1fcb2b777d6
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:48:57 +00:00
Oswald Buddenhagen
33ad0f1031 report to message handler whether evaluating cumulatively
we evaluate prf files precisely even when the pro file is evaluated
cumulatively. the message handler should know the mode a message is
reported in.

this just syncs up with qttools/08d0cb6f8e90a818bf6d3bec7a6d00f16419b8c0
and qttools/ea1a5c3534f089c0e704808a0fb029eda8f753b4 without
user-visible effect.

Change-Id: Ia14953a5a9dc31af56ad6c338017dd5b85bb4494
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-01-04 14:27:55 +00:00
Oswald Buddenhagen
4996eb3433 make CONFIG feature evaluation failure non-fatal in cumulative mode
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: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-04 14:27:38 +00:00
Nico Vertriest
52d024c26e Replace MAC OS X with OS X
Task-number: QTBUG-46374
Change-Id: I7bc633ab551740bd328a24b0ccae1d534af47138
Reviewed-by: Martin Smith <martin.smith@digia.com>
(cherry picked from qtbase/a7f2af09114cfa0996794c85bc48a601f665772d)
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2015-10-28 13:03:39 +00:00
Joerg Bornemann
fa6d0f1231 deprecate DEPLOYMENT variable
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>
(cherry picked from qtbase/a1c0a59ce6488134a38552fd12c831d2aa0f2693)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-28 13:03:35 +00:00
Oswald Buddenhagen
81a2ae415f move get{,Hash}Str from QMakeEvaluator to ProFile
this makes it possible to use these functions without an evaluator.

Change-Id: I23e4ec141b427f4c3c8b647305532be179058c07
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
(cherry picked from qtbase/df436839756ca7488b9eabcd11be04844a4ca8a3)
2015-10-28 13:03:25 +00:00
Oswald Buddenhagen
56e97c1e8b make infinite loop protection work even without an iterator variable
... (which is the usual case).

Change-Id: I464b6b284f963df45c7340ed079d540b528136f0
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
(cherry picked from qtbase/bd19870b81cee218e67feee4d5c4a46143334365)
2015-10-28 13:03:06 +00:00
Oswald Buddenhagen
36a8d8dcc5 fix quote nesting in split_value_list()
a single quote must not disrupt a double quoted string and vice-versa.

Change-Id: Ibb277bc1c930a7dbe9199ca572507ababbcfae4c
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
(cherry picked from qtbase/c9270d66395c90068388857c8fd201c62fb5e96f)
2015-10-28 13:03:02 +00:00
Oswald Buddenhagen
04fdfd8bfe move some functions into ProStringList for saner OO design
Change-Id: I60f00f38f459fc9f8eebee9187158e4198fc9546
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
(cherry picked from qtbase/ab74cf09a8f71aa939ac3de6165f9d6b45465ef8)
2015-10-28 13:01:00 +00:00
Oswald Buddenhagen
e51acff8fa remove pointless return value from QMakeParser::read()
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>
(cherry picked from qtbase/030c3a6197da663e5d2df48b9130ef71ee22e86c)
2015-10-27 17:52:28 +00:00
Joerg Bornemann
c3394ca727 fix MSVC target architecture detection for amd64_x86
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>
(cherry picked from qtbase/e01c8103e14371dab7660343aff058528a11d763)
(cherry picked from qtbase/b9ae324dc9c815c2326803da0a3d0414cf7a2903)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:52:17 +00:00
Thiago Macieira
8a6255d237 Let qmake find the number of processors online
Instead of trying to load in ltcg.prf and cache the value.

Change-Id: If485ff68fc6ff9d9cf7009cd72d5e702d0199c7f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
(cherry picked from qtbase/d7795559a7b80d3ec0a1eb86d29deaca6074f4ed)
2015-10-27 17:52:10 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
hjk
a439483d70 Use QFileInfo::exist(f) instead of QFileInfo(f).exists() if possible
Faster.

Change-Id: I91aa67462e11ff3258600d7f158de79942d0dc81
Reviewed-by: Marc Reilly <marc.reilly@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-11-03 09:31:28 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Oswald Buddenhagen
21e52edbfc pass a pointer instead of a reference to initFrom()
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>
(cherry picked from qtbase/11161bbfadd0056466fc414ed659d08a4a0fe492)
2014-06-23 16:16:00 +02:00
Oswald Buddenhagen
e017a1dc8b avoid that a bad qmakespec path crashes the evaluator
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>
2014-06-02 13:43:34 +02:00
Oswald Buddenhagen
fb3d65a872 do not look for mkspecs/ directories in project trees
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>
(cherry picked from qtbase/65a676372c533e8b35117081ec0aa1a94e1500e5)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-01-15 19:06:59 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Oswald Buddenhagen
30bd7fcce1 don't turn = into += in cumulative mode
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>
2013-11-18 15:16:19 +01:00
Oswald Buddenhagen
e64cc71194 set QMAKE_INTERNAL_INCLUDED_FILES even without PROEVALUATOR_FULL
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>
2013-11-15 19:23:45 +01:00
Oswald Buddenhagen
f30f44062b support a cache that is really just a cache
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>
(cherry picked from qtbase/ff31d87cc883dcf17ab459a15eac04e074d9614a)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-11-15 19:23:25 +01:00
Oswald Buddenhagen
c3b083b521 move setting of _QMAKE_{SUPER,CONF,CACHE}_ to a more logical location
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>
(cherry picked from qtbase/0f68222e9ebdf42778d4bb84260268764eb55b30)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-11-15 19:23:02 +01:00
Tor Arne Vestbø
561ee92ede qmake: Expose qmake arguments as QMAKE_ARGS
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>
(cherry picked from qtbase/1cdbe4752bef972db5471e811e9a781749cd0380)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:26:37 +01:00
Tor Arne Vestbø
612bc8ef85 qmake: Update internal mkspec on changes to QMAKESPEC
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>
(cherry picked from qtbase/a9bad65b091d15b0446fa141e0a69ebb94b38b70)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:26:32 +01:00
Tor Arne Vestbø
e20b41cdf9 qmake: Evaluate extra configs before loading default_pre
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>
(cherry picked from qtbase/eea1c359c9663cec15e7373c065ee06cba151eed)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:26:27 +01:00
Tor Arne Vestbø
aa94bee7fd qmake: Load extra variables only if also loading pre-files
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>
(cherry picked from qtbase/8e7dc25380dceebca094e092d9feb21ad167ba91)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:26:20 +01:00
Oswald Buddenhagen
dd2425eb02 make setting a bad $$[QMAKEFEATURES] not crash qmake
Task-number: QTBUG-29642
Change-Id: I9cc209eb313f03bf342bcb64b1de3005755700a7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/50a90720be7d67dcdfe704a82fb3b1138edd2aab)
2013-10-29 12:26:14 +01:00
Tor Arne Vestbø
4d75cb93a3 qmake: Expose ARGC to qmake functions to be able to check argument count
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>
(cherry picked from qtbase/09205d573413da8a2ac3826198fe36bb2dc4349f)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:26:03 +01:00
Daniel Teske
99f15f1706 ProParser: Plug raw data leak
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>
2013-10-02 12:14:13 +02:00
Oswald Buddenhagen
2995768776 execute some loops even in cumulative mode
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: QTCREATORBUG-6840
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@digia.com>
2013-08-26 14:36:58 +02:00
Oswald Buddenhagen
8b6c53733e make split_value_list() even less sane again
contrary to what one may expect, it's actually *not* supposed to remove
the meta-characters it interprets.

luckily, this function is not used much any more ...

Change-Id: I2b60f9b173140da78db2b07b596cc2e5f6e6d555
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/783181cfc11e995ad678237ebc0025a2a023c88c)
2013-08-26 14:36:03 +02:00
Oswald Buddenhagen
eff4a5dcee change reporting of missing files
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>
(cherry picked from qtbase/b4c0d9166e7a8f5dfa5ca052002a5ab318787aa2)
2013-08-26 14:35:00 +02:00
Oswald Buddenhagen
41b1684a6d avoid boolean argument trap: introduce QMakeParser::ParseFlag
Change-Id: I26ce032a1aa044e9a4da0c8708a4490b07374992
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/0a1faaa9eb7807bf11d796c2eca624e2f3b378a7)
2013-08-26 14:33:52 +02:00
Oswald Buddenhagen
d022a2d19c lock baseEnv in cache()
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>
2013-07-29 16:30:24 +02:00
Oswald Buddenhagen
759d0a69dd always check for baseEnv init failure
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>
2013-07-29 16:30:15 +02:00
Chris Stylianou
af9978fd5c Fix incorrect uname usage.
The POSIX function uname() can return any non-negative value for success.
- Example: Solaris 10 returns 1 on success.
See: http://pubs.opengroup.org/onlinepubs/009695399/functions/uname.html

Change-Id: Ic3d51f94a31d8b562b28a2d09df3d31b04c77dc8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/e97c37a37ac27f9ab901e974f0a882e81ffd571d)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-07-02 15:37:18 +02:00
Oswald Buddenhagen
958672e460 find qmakespecs in source directory of shadow built qt
qt 5.2 does not copy the qmakespecs to the build directory any more.
a fallback to the /get property variant ensures that other build types
continue to work. consequently, this has no effect whatsoever on
installed qt versions.

(based on qtbase/214b55d5d4c8fdf975b3c36f69bac4b07d8d39d0)

Task-number: QTCREATORBUG-9572
Change-Id: I9edac11f8997fcb0594d0a67419d4733dd4ed86b
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-24 13:13:30 +02:00
Oswald Buddenhagen
890c10b60f remove pointless string conversion
Change-Id: I1640083007ed0c428dfb8ab5ce8b68a7d7e2a749
(cherry picked from qtbase/d1b1b31c9237e0bd11c61fc54ad45551b7d862da)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-24 13:08:49 +02:00
Oswald Buddenhagen
880c699c12 make .qmake.{super,cache,conf} find "anchored" features
these files function as "anchors" for mkspecs/ and features/ directories
used by projects which load these files. ironically, these files didn't
see these feature files themselves.

Change-Id: I590855eb4a9d2c72b9abfcaa431d2f85a719c6e2
(cherry picked from qtbase/7456dfb4552c4e4f900af9fa8923828a23737280)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-24 13:08:41 +02:00
Oswald Buddenhagen
80b672defd find features/ under mkspecs/ of source & build root
we were finding features/ directly in the source & build root, and we
were finding features/ under mkspecs/ from $QMAKEPATH and other mkspecs
locations, but we omitted the "transitive hull". this was
counterintuitive.

Change-Id: I9823e6606467c98f264c81385250da92311f51ca
(cherry picked from qtbase/0bf65180b8710e4516496d0bc53a265ff0dd6a01)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-24 13:08:15 +02:00
Oswald Buddenhagen
83818a9dae make Makefiles not depend on .qmake.super
sync with qmake. this is a no-op in qtc.

Change-Id: Id5158d7e272fdee4f4a041fb7c828295a0a86684
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/d135a311a34e693d761a3607663b0879be9bbf65)
2013-06-24 13:08:01 +02:00
Oswald Buddenhagen
28df27d924 update m_featureRoots less aggressively
it's not necessary to immediately re-calculate the roots after assigning
QMAKE_PLATFORM - it's sufficient to do it on-demand, so merely
invalidate them. this avoids that we re-calculate them multiple times
without ever using them in between while processing specs with
distributed platform assignments.

Change-Id: If508594764811b96a577fc81c5ded34ab0453148
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-04 15:43:00 +02:00