qmake: Add object_parallel_to_source config option
authorTor Arne Vestbø <tor.arne.vestbo@nokia.com>
Mon, 5 Dec 2011 14:50:43 +0000 (15:50 +0100)
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>
Thu, 14 Aug 2014 11:25:31 +0000 (13:25 +0200)
commit469dcfff3e39249b0a5eb98242fbe5f917587246
treea01cbadd0f1178fbdc32708bfdfdcea07e2d09ec
parentf5231b768e9986b9519af1a0d2eff1891adaeba2
qmake: Add object_parallel_to_source config option

This solves the problem of two source files in the same project
having the same name, which ends up with colliding object files.
It also solves issues with moving files around in the source tree
when the GNUmake option is used together with gcc_MD_depends,
where the dependency file would end up with a dependency to the
old source location.

We already have object_with_source option, but that does not play
nicely with shadow-builds. The new option tries to keep the same
hirarcy in the output dir (while still respecting OBJECTS_DIR),
as the sources. Any source with a path outside of the root project
directory (absolute or relative, ../../foo.cpp), will be put inside
the objects directory with the full path appended.

Task-number: QTBUG-34871
(cherry picked from qtbase/47df12225918ba82abe35921af19e547717da58b)
Change-Id: I3481b128ed72494a644fdbc55325661a23e868fa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
qmake/generators/makefile.cpp