diff options
author | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2015-02-12 10:54:56 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2015-02-13 12:34:37 +0000 |
commit | f90c1860580bcbe6b898ceb86cdd746532470c64 (patch) | |
tree | c438a65e47369a76f830e01b924ec6440b6a6a7f /qmake/generators/win32/msbuild_objectmodel.cpp | |
parent | 405bdee0c9a58a5e2873a217aec84d54424ca9d5 (diff) |
fix vcxproj generation for CONFIG-=flat, part II
Commit 8ee2e497 introduced a regression for CONFIG-=flat vcxproj files.
Files with custom build steps (e.g. foo.h with Q_OBJECT) were written
into top-level filters ("Header Files" instead of
"Header Files\my\sub\dir").
The assumption that the parameter filtername always equals
VCFilter::name was wrong.
Change-Id: Id5178550310d06b73e42f18597a27012ddd89bb7
Task-number: QTBUG-44413
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'qmake/generators/win32/msbuild_objectmodel.cpp')
-rw-r--r-- | qmake/generators/win32/msbuild_objectmodel.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index 1e70fcc850..2f98eae075 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -1898,8 +1898,10 @@ void VCXProjectWriter::outputFileConfigs(VCProject &project, XmlOutput &xml, Xml OutputFilterData *d = &data[i]; if (!d->filter.Config) // only if the filter is not empty continue; - if (outputFileConfig(d, xml, xmlFilter, info.file, fileAdded, hasCustomBuildStep)) + if (outputFileConfig(d, xml, xmlFilter, info.file, filtername, fileAdded, + hasCustomBuildStep)) { fileAdded = true; + } } if ( !fileAdded ) @@ -1910,8 +1912,8 @@ void VCXProjectWriter::outputFileConfigs(VCProject &project, XmlOutput &xml, Xml } bool VCXProjectWriter::outputFileConfig(OutputFilterData *d, XmlOutput &xml, XmlOutput &xmlFilter, - const QString &filename, bool fileAdded, - bool hasCustomBuildStep) + const QString &filename, const QString &fullFilterName, + bool fileAdded, bool hasCustomBuildStep) { VCFilter &filter = d->filter; if (d->inBuild) { @@ -1934,7 +1936,7 @@ bool VCXProjectWriter::outputFileConfig(OutputFilterData *d, XmlOutput &xml, Xml xmlFilter << tag("CustomBuild") << attrTag("Include",Option::fixPathToLocalOS(filename)) - << attrTagS("Filter", filter.Name); + << attrTagS("Filter", fullFilterName); xml << tag("CustomBuild") << attrTag("Include",Option::fixPathToLocalOS(filename)); @@ -1952,7 +1954,7 @@ bool VCXProjectWriter::outputFileConfig(OutputFilterData *d, XmlOutput &xml, Xml if (!fileAdded) { fileAdded = true; - outputFileConfig(xml, xmlFilter, filename, filter.Name); + outputFileConfig(xml, xmlFilter, filename, fullFilterName); } const QString condition = generateCondition(*filter.Config); |