Commit Graph

23 Commits

Author SHA1 Message Date
Oswald Buddenhagen
93b8270bd9 make use of real environment a separate option
only creator needs to set an own environment - the testreader, lupdate
and qmake don't.

Change-Id: I4ff561a3008d423969a3f331bdc5d16b281a020b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-03 19:42:37 +02:00
Oswald Buddenhagen
b2017f427d add dynamic property mode for qmake
in qmake, the property map is not pre-initialized with the values from
QSettings, as dynamic properties are typically unused, and thus
initializing them would be a waste of time.
consequently, make propertyValue() just a delegate to a QMakeProperty.

Change-Id: I11af5124f810f798214c43704fe49ace03a8f5b8
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-03 17:55:52 +02:00
Oswald Buddenhagen
2847db0ecb setup {,x}qmakespec from environment as fallback
... like qmake does

Change-Id: I4d0dedfea5efcd1b5df2c3043788edf4bbd5c5ad
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-03 17:55:35 +02:00
Oswald Buddenhagen
0ad234b691 add tracing facilities to evaluator
as other output code which is enabled only in full qmake mode, this
prints directly to the console.

Change-Id: I6a1578818512fa3b0773faf276a1d56881eb06d7
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-03 17:54:57 +02:00
Oswald Buddenhagen
f4f1f968c5 make command line parser grok more options
-spec/-platform, -xspec/-xplatform, -t/-template, -tp/-template_prefix,
-cache & -nocache.

Change-Id: I1a0aa6ce830bf4d4beed319ebe248b15b2dc72c0
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-03 17:54:11 +02:00
Oswald Buddenhagen
07a7cad50b revamp command line argument parsing
the command line parser can be now integrated with a parser which
understands more options.

Change-Id: Ib9de352376b2f03dd466d577435f680702d1e2b9
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-03 17:54:01 +02:00
Oswald Buddenhagen
662e6f1119 resolve relative paths in $QMAKEPATH & $QMAKEFEATURES
we use the actual current directory as the base dir, as that's closest
to what qmake would do so far. it's completely arbitrary what will
happen when shadow-building or specifying an output directory, and in
creator context it's pretty much meaningless.

Change-Id: I8c490c86fa2606fcee5d176c90c5a84a4783e87b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-08-28 14:33:26 +02:00
Oswald Buddenhagen
bdd8cf300b introduce ProKey class
while this is actually just an alias for ProString (with explicit
zero-cost conversions only), it nicely illustrates the use of particular
variables. it also serves to hide the NoHash hack from public view.

Change-Id: Iaf9283c64f320ad84a77d9573d1fde6d401c49df
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-06 15:05:17 +02:00
Yuchen Deng
a3323de814 Fix cross compilation
Change-Id: I092277ae6e9a35910ee9cbaa1806e0d848339bbb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-02 16:51:48 +02:00
Oswald Buddenhagen
187751f967 add $$shadowed() function
follow suit with qmake ...

Change-Id: Ic97576eaf74dfd58e8d8cd2f8034dac3963b92c4
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-01 16:42:39 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
Oswald Buddenhagen
0e6f6e3ca5 make $$QMAKE_QMAKE available to projects
not setting it outside the main project processing, as it's even less
likely to be needed there.

Change-Id: Ia7afe3a53bf0977d739bf23d7cd79e3a2aee8867
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:17:36 +02:00
Oswald Buddenhagen
da26368d9e make qmake property map ProString-based
Change-Id: I3c25642b885171a47e8fd27e39e5d470d9f24db3
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:14:40 +02:00
Oswald Buddenhagen
20baedf3b5 do .qmake.cache search per sub-project
follow suit with qmake ...

Change-Id: I40ed12d8cba4ae39b80f47e34c370f40656b9d83
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:13:13 +02:00
Oswald Buddenhagen
add2a96bf4 revamp target mode handling
follow suit with qmake ...

Change-Id: Id734e20556925cec5bf8c70d55974eb4a783f49d
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 13:54:13 +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
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
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
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