Commit Graph

24689 Commits

Author SHA1 Message Date
Oswald Buddenhagen
9cef89e691 make failure to load spec or cache fatal
our processing is nowadays precise enough to allow for that.

Change-Id: I0e5c7bb4b40f713f5b4cef26bb7d4c49170ae7ac
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:59:33 +02:00
Oswald Buddenhagen
3ef41951c6 revamp maintenance of base values (qmakespec+cache)
instantiate a complete evaluator instead of having just vars and
functions in the option object. that's cleaner.

Change-Id: I0ecd98307832ed072cebfd5b535572f7dcb103c1
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:59:22 +02:00
Oswald Buddenhagen
b7152d825d use a separate evaluator for preliminary cache load
it's cleaner this way

Change-Id: I9bb5dea8147a94f4529e77c663fbf59e272409f5
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:58:55 +02:00
Oswald Buddenhagen
05798f87cb factor out QMakeEvaluator::prepareProject()
Change-Id: I99a5b0b9ef3080ebc5d0546c3bf17c8806a52c72
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:56:23 +02:00
Oswald Buddenhagen
9e60457d59 add QMakeOption::do_cache
... because qmake has it.

Change-Id: Idc2c9f6a041ff1d60d95e8a2ad400f7d41f3d2d2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:56:14 +02:00
Oswald Buddenhagen
8ad7ebbd28 evaluate qmakespec & cache without any project file on the stack
they are not supposed to care for the project.
during concurrent evaluation, it would be more or less random which
subproject would trigger the spec loading anyway.

Change-Id: I46c9ef5c1461153b4ba9e7f9efdd106015d0c55b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:56:05 +02:00
Oswald Buddenhagen
8e71dac965 require QMakeGlobals::cachefile to be already resolved on input
there are no users of this yet, so it doesn't matter.

Change-Id: If1ec6ca2d2ef1755deb3caf61d1e50f91d87d2de
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:50:20 +02:00
Oswald Buddenhagen
a5070c0d13 factor out QMakeEvaluator::loadSpec()
Change-Id: Icaa38925d031df5d45e8fc16fb4c618ebde364a7
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:50:06 +02:00
Oswald Buddenhagen
1c1c83f992 don't look for specs next to the current project
this seems to be another contender for the most useless feature ever.

follow suit with qmake. it got a less useless replacement, which will
follow here as well.

Change-Id: I5b6f7411178294acb4ef001535b46a2c37206b51
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:49:54 +02:00
Oswald Buddenhagen
868102ec24 search for default spec just like for other ones
follow suit with qmake ...

Change-Id: I02d4f477356734c83ad6681307166f6495ad7d2a
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:49:22 +02:00
Oswald Buddenhagen
39fcc3080f don't resolve paths when looking for features
all the input paths are expected to be already resolved

Change-Id: I2c9b4fb5ed25aea160669dd45fe5a4f7f3e272f1
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:49:12 +02:00
Oswald Buddenhagen
6a54c5e667 stop looking for features outside the mkspecs/ hierarchy
follow suit to qmake ...

Change-Id: I8f041adbc3305cddaf7dfd016fc83da228b253e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:48:40 +02:00
Oswald Buddenhagen
e0657a441f don't look for features in QT_INSTALL_PREFIX
follow suit with qmake ...

Change-Id: Ia7ac7e35d45433c2f1c9c5e18ebdb626c13a9abd
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:48:28 +02:00
Oswald Buddenhagen
5a6625245b introduce ProValueMap typedef for brevity's sake
Change-Id: I41b7202acb2889d217d1f437050443bea853ee87
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:48:00 +02:00
Oswald Buddenhagen
55cad4a424 resolve some variables already at parse time
they are "compiler defines", with no dependency on the evaluation context.

Change-Id: I25bf006347ecd2edb501a344820e2ac11ff389e9
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:44:28 +02:00
Oswald Buddenhagen
a0bc0cb990 deprecate $$IN_PWD
follow suit with qmake ...

Change-Id: I4154bf80be5c22b145d9795ff26dbf24116c76c2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:44:04 +02:00
Oswald Buddenhagen
2f4171459c give load()/include() with target and infile()/$$fromfile() a clean environment
follow suit to qmake ...

Change-Id: If9aa8b14e8b54768faef9151727bdb29fa1ed64b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:43:48 +02:00
Jarek Kobus
75ebcfad4b Don't show the target setup page on adding a subproject
Task-number: QTCREATORBUG-7426

Change-Id: Idfbaae7ac6dd67b4d85db8c30088f4c1f5d9986b
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-07-04 12:43:34 +02:00
Oswald Buddenhagen
30928e82e3 don't use a ProFileEvaluator where a QMakeEvaluator is sufficient
Change-Id: I6c0becf1a6cd8a323615a481e8fd80ed67358e3b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:43:30 +02:00
Oswald Buddenhagen
7257b9682e remove injection of default_pre in infile()/$$fromfile()
follow suit to qmake ...

Change-Id: I6d884e284275e64e13cfea7fdc868341136c81f5
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:42:58 +02:00
Oswald Buddenhagen
ac297f8e6b introduce QMakeHandler
this is QMakeEvaluatorHandler, but derived from QMakeParserHandler.
the idea is that the parser can be used stand-alone, while the evaluator
needs the parser as well.
we will need it in QMakeGlobals as well, so put it there, as that is the
most central place.

Change-Id: I6ee46c0e4b2e044bf3bfc6e4235b53525ddfc875
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:39:37 +02:00
Oswald Buddenhagen
6d63786f92 provide fallbacks for QT_HOST_* properties
if a qt4 qmake is used, these properties will be missing. as we want to
use them internally, they need to be present, so fake them.

Change-Id: I88a663b56f7420d6d9dde8bc2c738f353c15a7ce
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-07-04 12:36:19 +02:00
Oswald Buddenhagen
8471c0edad collect /get and /raw properties in QMakeGlobals::initProperties(), too
this is only for lupdate & co.

Change-Id: I438bba7dd996045e9ec947e6027e3085cc862884
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:35:53 +02:00
Oswald Buddenhagen
9c46bd5dec move expandEnvVars() to QMakeGlobals
fits better there

Change-Id: Id369d8e22db97affd03ed991433b898b110f1946
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:35:42 +02:00
Oswald Buddenhagen
4a9b1a7a58 introduce QMakeGlobals::getPathListEnv()
variant of getEnv() for fetching paths lists

Change-Id: I2adf26b31354ed97dc3fff12a4c6344b6e9c172f
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:35:32 +02:00
Oswald Buddenhagen
5d896112bc dispose of QMakeGlobals::host_mode
follow suit to qmake:
- the spec does not need to set the host mode, especially as some
  generators are multi-host capable
- the only thing the host mode affects is the path separator, which can
  be done directly instead

Change-Id: I618c2c5051234b105c4bc579240aa9f669b4d958
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:35:25 +02:00
Oswald Buddenhagen
2766aaad4b introduce Qt4ProFileNode::sourceDir()
complementary to buildDir()

Change-Id: I8b79775fd5187887901faed667ea83fc4fbca041
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:34:54 +02:00
Oswald Buddenhagen
87fbe16fd5 add QMakeEvaluator::first()
this is a convenience variant of values()

Change-Id: If8e15b46a88c00cef3435b73cf6280ab5f48c062
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:34:46 +02:00
Oswald Buddenhagen
251ed0e878 move LoadFlags to QMakeEvaluator
Change-Id: I931bce3aaf1ccaaacf586ca54b93659485b79372
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:24:44 +02:00
Oswald Buddenhagen
b4f38671a2 move remainder of QMakeEvaluator to an own file
Change-Id: I09bf3ee41e08062e14a6810d8de036e1c246b0b5
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:23:31 +02:00
Oswald Buddenhagen
7b3393918c move builtin qmake function implementations to separate file
the functions are still part of the same class, though.

Change-Id: I58a69d334ac9d1d53b5395d0b655895ffe18c7be
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:11:24 +02:00
Tobias Hunger
92cacf3d0e Fix RCs getting removed again
Fix non-CustomExecutable RunConfigurations getting removed directly.

Also keep unconfigured RCs around if they are the active RC. This stops
CustomExecutableRCs from disappearing before the user had a chance to
configure them.

Task-number: QTCREATORBUG-7562
Change-Id: Iaa0c8b9f55425857ad326200071abaea2d390c99
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:08:05 +02:00
Oswald Buddenhagen
c84fbe0455 move QMakeEvaluator declaration to an own file
Change-Id: Ifc13af5f5b8a2b497075027acfb7b621ab0514ad
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:06:40 +02:00
Oswald Buddenhagen
95dfa15a7c ProFileEvaluator::Private => QMakeEvaluator
more natural name. the ProFileEvaluator class itself is somewhat more
high-level, so it will remain named as it is. i'll move around the code
at a later point.

Change-Id: I03fa844d0109e281f3602b4781ac11c6f2954aa4
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:06:23 +02:00
Oswald Buddenhagen
ae9b396d98 move sysrootify() out of ProFileEvaluator::Private
it's a higher-level function which will not fit here soon

Change-Id: I42ab45a953b2fea3ba1cb467eeff96fd58fc57be
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:05:23 +02:00
Oswald Buddenhagen
ed633945ba FunctionDef(s) => ProFunctionDef(s), plus move to proitems.h
Change-Id: I7bdde81c1913237f11dbfbe7491e0fe750181cd5
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:05:15 +02:00
Oswald Buddenhagen
888c187dd5 ProFileParser => QMakeParser
more natural name

Change-Id: I38d2a2fc785686aa5777afe41452b53f2c24adf8
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:05:03 +02:00
Oswald Buddenhagen
24f24c4546 factor QMakeGlobals into an own file
Change-Id: I55d24be06fa78f70bad614a7125c3079c92ab8e5
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:04:47 +02:00
Oswald Buddenhagen
37b2f88e27 ProFileOption => QMakeGlobals
more accurate class name

Change-Id: I4258b221727e79cc88d5f57dd1f6631ba0bba625
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:04:29 +02:00
Oswald Buddenhagen
d5eca5681d move definition of ALWAYS_INLINE to qmake_global.h
more central place

Change-Id: Id3b3783a167c6c379ad5b1cc0f2b2622444e1174
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:04:16 +02:00
Oswald Buddenhagen
ff961351eb proparser => qmake
namely:
- proparser_global.h => qmake_global.h,
- PROPARSER_EXPORT => QMAKE_EXPORT
- PROPARSER_AS_LIBRARY => QMAKE_AS_LIBRARY
- PROPARSER_LIBRARY => QMAKE_LIBRARY

Change-Id: I6db1e6339b4dced59819f047874d84dff826f398
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:04:04 +02:00
Oswald Buddenhagen
00ec7f5e70 ProFileEvaluator::Private needs no q pointer
Change-Id: I946f3ebe9fde342fed4648cbbf0d0872d48572da
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:03:20 +02:00
Oswald Buddenhagen
171531fcc9 evaluate default_pre per subproject
qt5 qmake does it

Change-Id: I95cab3f6d87e4baf74e1363404fae94ca3a08eec
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:02:55 +02:00
Oswald Buddenhagen
087021a23c add some future safety
detaching an empty vector does not necessarily do anything.
on the downsite, as the sentinel value is not empty any more, we need to
explicitly clear it out when we meet it.

Change-Id: I0f15aa3d421706a5423bf37f3173a807d0d49c53
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 12:01:37 +02:00
Daniel Teske
abb210e719 Fix crash on unloading project
Note: A additional change merged from 2.5 is needed.

Task-number: QTCREATORBUG-7524
Change-Id: I9cbbfaff40f5ddeba743cdb258e7cece64d2ad85
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 11:45:12 +02:00
BogDan Vatra
a16d355dce More Android fixes, add default android device.
Switch to new android assests scheme

Change-Id: I34bf52cbb085b76df66e40391160d189301aafd2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 11:26:56 +02:00
Orgad Shaneh
7c77331ea4 Gerrit: Replace 'additional queries' with a query completer
Change-Id: Idbc3f0a0dc47c63eb02ee105965ec52fda712f84
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-04 09:20:39 +02:00
Orgad Shaneh
cb8c8ca19e Gerrit: Allow custom query
Change-Id: I8ee0967a8f0013c785bc4d6e98ff7b634f488e97
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-04 09:20:27 +02:00
Bill King
a8debd265f Fix to handle situation where Harmattan isn't found in list of targets.
Change-Id: I7de9e62f756f0c8ea8858853d59bf3743e053ab0
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-07-03 14:30:22 +02:00
Tobias Hunger
52abdd690f Profile: Make sure name is unique
... not only when adding the profile, but also when renaming it.

Change-Id: Ib13265d2619718bf2d44410b96cd5ed0eeebf38b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-03 14:16:31 +02:00