summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/msbuild_objectmodel.cpp
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-02-12 10:54:56 +0100
committerJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-02-13 12:34:37 +0000
commitf90c1860580bcbe6b898ceb86cdd746532470c64 (patch)
treec438a65e47369a76f830e01b924ec6440b6a6a7f /qmake/generators/win32/msbuild_objectmodel.cpp
parent405bdee0c9a58a5e2873a217aec84d54424ca9d5 (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.cpp12
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);