summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/exclusive_builds.prf
Commit message (Collapse)AuthorAgeFilesLines
* Rewrite qmake's exclusive-build featureTor Arne Vestbø2013-10-251-82/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to compute the default exclusive build directory, eg 'debug', at configure time, and then set OBJECTS_DIR, MOC_DIR, etc to include this hard-coded default exclusive build directory. We then had to run a post- process step where we replaced the 'debug' part with the current actual exclusive build pass, eg 'release', resulting in long-standing bugs such as QTBUG-491 where we end up replacing parts of the build output dirs that were not part of the original exclusive build directory. We now set the OBJECTS_DIR, MOC_DIR, etc defaults in configure like before, but they do not include any exclusive-build information. The exclusive build directory is handled as a separate step in default_post where we adjust all entries in QMAKE_DIR_REPLACE to be exclusive directories. For backwards compatibility the new exclusive build behavior is only enabled for variables named by QMAKE_DIR_REPLACE_SANE, which for Qt itself applies globally to everything but DESTDIR, and for libs and tools also applies to DESTDIR. The reason for leaving out DESTDIR in the general case is because many tests and examples assume the old behavior for DESTDIR. A side effect of including all the other variables for Qt libs and tools is that the PCH output dir will be uniformly set, which has been an issue on Windows in the past. The addExclusiveBuilds function now takes two or more arguments, each argument being the key for an exclusive build, which can be customized eg. using $$key.{name,target,dir_affix}. Passing more than two arguments results in three/four/etc-way exclusive builds, eg debug/release/profile. Exclusive builds can also be combined, eg static/shared + debug/release by making two calls to the function. We also handle individual targets of combined exclusive builds, eg static/shared + debug/release, meaning it is possible to run 'make debug' to build both static-debug and shared-debug. Task-number: QTBUG-491 Change-Id: I02841dbbd065ac07d413dfb45cfcfe4c013674ac Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Include PRECOMPILED_DIR in dirs fixed by fixExclusiveOutputDirs()Tor Arne Vestbø2013-04-031-1/+1
| | | | | | | | | It's written to qmodule.pri by configure with a hard-coded path, and hence need fixing up or appending, depending on which exclusive builds are used. Change-Id: I069c04438dc303868a76349c9bdd385adc074c0a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Fix whitespace issues in *.prfAxel Waggershauser2013-03-221-18/+18
| | | | | | | | Replaced tabs with spaces to align with space-indented code and removed some trailing whitespace. Change-Id: I4930afc3df206ef8ee96de3e69f0d69fc4a1c77c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* remove useless unset()sOswald Buddenhagen2013-02-131-8/+0
| | | | | | | | there is mightily little point in unsetting variables right before unconditionally assigning to them. Change-Id: I24c1814ce38bf9aab4496679b1a670f3cd55c536 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+100
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12