Commit Graph

64 Commits

Author SHA1 Message Date
Oswald Buddenhagen
7c10134437 add support for option(host_build)
Change-Id: I7b16d13b0f94d0a2e4b4743a40dad9bd8b8b9698
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-01 16:38:09 +02:00
Oswald Buddenhagen
3f7fdd192c use QT_HOST_DATA/get to access the qmake files
Change-Id: I0cdfcacb6e5e6f98914a87d8a1418f839f0c0da0
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-08-01 16:37:47 +02:00
Oswald Buddenhagen
ff276840de querying unknown properties is not an error, so don't report one
as far as qmake is concerned, anyway

Change-Id: I3b974e495ece4f4c30b737198c74dacfda8dbd0f
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-01 16:37:38 +02:00
Oswald Buddenhagen
a93e24fd0d implement qmake language and deprecation warnings
Change-Id: Ia5dd0c408ace4e779da898ffb60e9ca12a383225
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-01 16:09:49 +02:00
Oswald Buddenhagen
0af96c128a revamp message callbacks
instead of having a bazillion different callbacks, have only one with a
type parameter. the drain typically multiplexes all into one stream anyway.

Change-Id: I963daefc5a266c91334a4cc599570ed26b603d5d
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-08-01 16:09:33 +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
64471a9c4d populate QMAKE_INTERNAL_INCLUDED_FILES
... like qmake does.

Change-Id: I61b5234cdfa19744aa304d3fc15d541145b9f4a3
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-10 11:09:41 +02:00
Oswald Buddenhagen
8d7546d006 allow setting QMAKEPATH and QMAKEFEATURES in .qmake.cache
follow suit with qmake ...

Change-Id: Idc957b607bbc87f92c8729946b208f9c24a23b4b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:18:12 +02:00
Oswald Buddenhagen
ce71932ca2 export QMAKESPEC to the project
follow suit with qmake ...

Change-Id: Ib0de27394fc71d01a57eae770da55c5b5aa35f17
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-09 21:17:58 +02:00
Oswald Buddenhagen
267e572842 use real qmakespec as basis for finding features
follow suit with qmake ...

Change-Id: Ibc5a97703af1c5f57149b6a5feab16215bc7f9e7
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:17:49 +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
0a348dd8e2 use QT_HOST_* where appropriate
for x-builds, the host binaries and data may be in a different place
than the ones for the target.
we have fallback code for qt 4, so we can use the new variables
unconditionally.

this patch may be incomplete - there are still some uses which *may*
need changing.

Change-Id: Ia96c4ea99c5c7fc62bbe32d0283c82eef5c1eefd
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-09 21:14:58 +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
5b788ea23f consistently use source and build roots for mkspec & feature searches
follow suit with qmake ...

Change-Id: I508039840372a9f53616e8a665aa4cae619983f6
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:14:20 +02:00
Oswald Buddenhagen
be47cd2e96 de-duplicate code a bit
Change-Id: I0be34a47d77e63f6298c77aba468df0413635afa
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:14:06 +02:00
Oswald Buddenhagen
d4900ceddc explicitly look for mkspecs/ directories
follow suit with qmake ...

Change-Id: Ia4f28cf200076824043e4626d4144a6d34e68623
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:13:56 +02:00
Oswald Buddenhagen
a0515b3b55 read .qmake.super files
follow suit with qmake ...

Change-Id: I8e7f3e3379f6109c8211a69cb397c75c19d880ab
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:13:46 +02:00
Oswald Buddenhagen
5ba6019385 read .qmake.conf files
follow suit with qmake ...

Change-Id: Ic81ea048e043adcb6cc66b1dc64038c948310db8
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:13:35 +02:00
Oswald Buddenhagen
0df494a5a1 reshuffle prepareProject() code a bit
looks more like qmake's code now.
deals better with not-yet-existing output directories as well
(QDir::cdUp() does not work with those).

Change-Id: I062e581b7a9062f176a9bf8c686bf48b19ed0975
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:13:25 +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
bc4c499684 eliminate EvalIntoMode
it's a relic from times of entanglement with ProFileEvaluator.

Change-Id: I903c1a8a21fcb4a0c9029d0245fba56043e62718
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 21:12:51 +02:00
Orgad Shaneh
eff2789348 QtSupport: Compile with QT_NO_CAST_FROM_ASCII
Change-Id: I509e2280932477eed8ede5c9cf5d07305bb9ebdb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-05 16:24:41 +02:00
Oswald Buddenhagen
0baa1368fb fix compile on windows
Change-Id: Ida259851e5e25472c4f225c4d063b5cfa7e75475
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 16:09:17 +02:00
Oswald Buddenhagen
d78fd3933b add groundwork for supporting -t and -tp qmake options
Change-Id: Ibb1aafdaeaf8ee53bb11436d2f2ca8ccbf0ffc3c
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 14:16:03 +02:00
Oswald Buddenhagen
55dfc27c52 default cumulative mode to off
this is clearly more often used and thus makes for cleaner code

Change-Id: Ic8d100cbfc4134f1b73117b4f4a5aa5a6f4e0ccb
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 14:12:49 +02:00
Oswald Buddenhagen
9e1116c73b prune feature search paths which don't actually exist
follow suit with qmake ...

Change-Id: Ifd84044f0543a80cdabee980185cc2e8bd492ea6
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 14:05:13 +02:00
Oswald Buddenhagen
755d093617 remove support for loading features relative to current directory
follow suit with qmake ...

Change-Id: I15a742511ba551dee8e2794a8f75c648e9ba5df0
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 14:04:52 +02:00
Oswald Buddenhagen
8a4053d14b dispose of valuesDirect()
it has become a trivial wrapper around values()

Change-Id: Ia3165ec4cf968588f6ad3f5a2e8abe61dcae2f59
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 14:04:25 +02:00
Oswald Buddenhagen
9a33d2dfb2 make $$PWD non-magic on read
follow suit with qmake ...

Change-Id: I9354713232facc57bd2969d62f44890e274a70b8
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 13:57:41 +02:00
Oswald Buddenhagen
c6a0ca7bc8 make project-related variables non-magic
follow suit with qmake ...

Change-Id: I88b4edd12569dcd59d7eed0512cc16d14f2c685e
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 13:56:27 +02:00
Oswald Buddenhagen
53351d7d87 move initialization of $$TARGET to setupProject()
follow suit with qmake ...

Change-Id: I307a55cb264aa79f39ffd5fef07ee9f010d98f56
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 13:56:01 +02:00
Oswald Buddenhagen
6507337b47 make $$TEMPLATE magic on write instead of on read
follow suit with qmake ... even if the implementation is somewhat
trivial due to TEMPLATE_PREFIX not existing here yet.

Change-Id: Ifc3eda63ae278ad33b83a0570266950304f77679
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 13:55:51 +02:00
Oswald Buddenhagen
aa52a1da5c add support for $$QMAKE_TARGET.arch
Change-Id: Id10bcb37d37dd30fbe10a224b60ec45b752d34e6
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 13:55:33 +02:00
Oswald Buddenhagen
03a84a7e5e make a bunch of invariant variables non-magic
follow suit with qmake ...

Change-Id: I683eb47de3377fe1abf0611f86c4250562aa4132
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 13:55:17 +02:00
Oswald Buddenhagen
055a17de98 move initialization of numerous variables to spec_pre.prf
follow suit with qmake ...

Change-Id: I8a0c3b1317ab87b15001c9a55d3ebd70ee7f2dc6
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 13:54:30 +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
41bf7c896b surround loading of spec with loading spec_pre.prf and spec_post.prf
follow suit with qmake ...

once we move currently builtin functionality to these feature files,
things would break with qt4 (which does not have them). consequently,
we provide our own fallback versions of them.

Change-Id: Ie318f3419d78214472835c41ec1388977f2e9269
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 13:00:00 +02:00
Oswald Buddenhagen
ca2816db1a make "realification" of default specs less convoluted
Change-Id: I8586d8114c8711a18f477039a56d6d8bfc31c88b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:59:41 +02:00
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