qt5base-lts/qmake/generators
Chris Gilbert ae52bba5d4 Fix msvc project dependencies as specificed by .depends
Previously, the full path to the qmake project file was specified as the
key for projGuids when inserting the project GUID into this hash table.

The only place that items are inserted into projGuids is in
VcprojGenerator::collectDependencies at:

	projGuids.insert(val.first, newDep->target);

In this case, val.first contains the full path for the given project being
processed at this point. (e.g.: c:\testproject\testproject.pro)

Further in sln/vcproj generation, projGuids is queried with the contents
of <TARGET>.depends so that users may specify another qmake project as a
dependency for a given target.

This occurs in two places, in two ways:

1) In VcprojGenerator::collectDependencies() at:
	QString depend = dep.toQString();
	if (!projGuids[depend].isEmpty()) {
	...

In this case QString depend contains whatever is put into <TARGET>.depends.
Typically this is the plain name of the project you depend on.
(e.g.: testproj)

2) In VcprojGenerator::writeSubDirs(QTextStream &t) by proxy of
   extraSubdirs which is a QStringList of the project depends should the
   mapping in case 1 fail.

This case works much like the above case, attempting to use each
QString entry of the extraSubdirs list as a key in projGuids.

If either of the above two attempts are successful, the msvc solution is
configured in a way that creates a project dependency, ensuring correct
compilation order and other related behavior.

The fix here stores the target project (e.g.: testproject) as opposed to the
full project path, as that is what is expected in the <TARGET>.depends
statements contained in the qmake project.

Change-Id: Iee05661a64d7a3e4467c5ade48d801fbbfe981b5
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Chris Gilbert <cgilbert@knaldtech.com>
2013-10-29 19:59:17 +01:00
..
integrity Don't compile MD4, MD5, SHA-2 and SHA-3 into qmake 2013-08-15 01:30:54 +02:00
mac xcode: Move Qt preprocessor steps to separate target 2013-10-25 14:51:30 +02:00
unix qmake: Centralize TARGET sanitization in default_post.prf 2013-10-11 18:47:27 +02:00
win32 Fix msvc project dependencies as specificed by .depends 2013-10-29 19:59:17 +01:00
makefile.cpp Add QMAKE_PKGCONFIG_VERSION variable to allow version overriding 2013-10-28 00:37:15 +01:00
makefile.h de-duplicate code for writing dummy makefiles 2013-08-27 19:12:06 +02:00
makefiledeps.cpp remove support for Qtopia's QOM_OBJECT macro 2013-08-26 12:21:40 +02:00
makefiledeps.h Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
metamakefile.cpp actually use the temp variable we just assigned ... 2013-03-12 18:54:59 +01:00
metamakefile.h remove some cryptic code relating to output directories 2013-03-07 00:42:56 +01:00
projectgenerator.cpp Changed digia contact details to */legal, updated licenses 2013-07-20 11:21:46 +02:00
projectgenerator.h Changed digia contact details to */legal, updated licenses 2013-07-20 11:21:46 +02:00
xmloutput.cpp remove pointless QString::arg call 2013-05-30 12:16:52 +02:00
xmloutput.h Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00