diff options
Diffstat (limited to 'qmake/generators/win32/msbuild_objectmodel.cpp')
-rw-r--r-- | qmake/generators/win32/msbuild_objectmodel.cpp | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index 0c29008610..ff7779f79f 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -568,6 +568,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProjectSingleConfig &tool) addFilters(tempProj, xmlFilter, "Resource Files"); addFilters(tempProj, xmlFilter, "Source Files"); addFilters(tempProj, xmlFilter, "Translation Files"); + addFilters(tempProj, xmlFilter, "Deployment Files"); for (int x = 0; x < tempProj.ExtraCompilers.count(); ++x) addFilters(tempProj, xmlFilter, tempProj.ExtraCompilers.at(x)); @@ -581,6 +582,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProjectSingleConfig &tool) outputFilter(tempProj, xml, xmlFilter, "Translation Files"); outputFilter(tempProj, xml, xmlFilter, "Form Files"); outputFilter(tempProj, xml, xmlFilter, "Resource Files"); + outputFilter(tempProj, xml, xmlFilter, "Deployment Files"); for (int x = 0; x < tempProj.ExtraCompilers.count(); ++x) { outputFilter(tempProj, xml, xmlFilter, tempProj.ExtraCompilers.at(x)); @@ -790,6 +792,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool) addFilters(tool, xmlFilter, "Resource Files"); addFilters(tool, xmlFilter, "Source Files"); addFilters(tool, xmlFilter, "Translation Files"); + addFilters(tool, xmlFilter, "Deployment Files"); for (int x = 0; x < tool.ExtraCompilers.count(); ++x) addFilters(tool, xmlFilter, tool.ExtraCompilers.at(x)); @@ -803,6 +806,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool) outputFilter(tool, xml, xmlFilter, "Translation Files"); outputFilter(tool, xml, xmlFilter, "Form Files"); outputFilter(tool, xml, xmlFilter, "Resource Files"); + outputFilter(tool, xml, xmlFilter, "Deployment Files"); for (int x = 0; x < tool.ExtraCompilers.count(); ++x) { outputFilter(tool, xml, xmlFilter, tool.ExtraCompilers.at(x)); } @@ -1728,6 +1732,8 @@ void VCXProjectWriter::addFilters(VCProject &project, XmlOutput &xmlFilter, cons filter = singleCfg.FormFiles; } else if (filtername == "Resource Files") { filter = singleCfg.ResourceFiles; + } else if (filtername == "Deployment Files") { + filter = singleCfg.DeploymentFiles; } else { // ExtraCompilers filter = project.SingleProjects[i].filterForExtraCompiler(filtername); @@ -1775,6 +1781,8 @@ void VCXProjectWriter::outputFilter(VCProject &project, XmlOutput &xml, XmlOutpu filter = singleCfg.FormFiles; } else if (filtername == "Resource Files") { filter = singleCfg.ResourceFiles; + } else if (filtername == "Deployment Files") { + filter = singleCfg.DeploymentFiles; } else { // ExtraCompilers filter = project.SingleProjects[i].filterForExtraCompiler(filtername); @@ -1826,6 +1834,8 @@ void VCXProjectWriter::outputFileConfigs(VCProject &project, XmlOutput &xml, Xml filter = singleCfg.FormFiles; } else if (filtername.startsWith("Resource Files")) { filter = singleCfg.ResourceFiles; + } else if (filtername.startsWith("Deployment Files")) { + filter = singleCfg.DeploymentFiles; } else { // ExtraCompilers filter = project.SingleProjects[i].filterForExtraCompiler(filtername); @@ -1956,7 +1966,8 @@ bool VCXProjectWriter::outputFileConfig(VCFilter &filter, XmlOutput &xml, XmlOut } // Actual XML output ---------------------------------- - if (filter.useCustomBuildTool || filter.useCompilerTool || !inBuild) { + if (filter.useCustomBuildTool || filter.useCompilerTool + || !inBuild || filtername.startsWith("Deployment Files")) { if (filter.useCustomBuildTool) { @@ -1971,7 +1982,8 @@ bool VCXProjectWriter::outputFileConfig(VCFilter &filter, XmlOutput &xml, XmlOut xml << tag("CustomBuild") << attrTag("Include",Option::fixPathToLocalOS(filename)); - if ( filtername.startsWith("Form Files") || filtername.startsWith("Generated Files") || filtername.startsWith("Resource Files") ) + if (filtername.startsWith("Form Files") || filtername.startsWith("Generated Files") + || filtername.startsWith("Resource Files") || filtername.startsWith("Deployment Files")) xml << attrTagS("FileType", "Document"); } @@ -2044,6 +2056,13 @@ bool VCXProjectWriter::outputFileConfig(VCFilter &filter, XmlOutput &xml, XmlOut xml << tag("ResourceCompile") << attrTag("Include",Option::fixPathToLocalOS(filename)); } + } else if (filtername.startsWith("Deployment Files")) { + xmlFilter << tag("None") + << attrTag("Include",Option::fixPathToLocalOS(filename)) + << attrTagS("Filter", filtername); + + xml << tag("None") + << attrTag("Include",Option::fixPathToLocalOS(filename)); } } @@ -2054,6 +2073,12 @@ bool VCXProjectWriter::outputFileConfig(VCFilter &filter, XmlOutput &xml, XmlOut << valueTag("true"); } + if (filtername.startsWith("Deployment Files") && inBuild) { + xml << tag("DeploymentContent") + << attrTag("Condition", condition) + << valueTag("true"); + } + if (filter.useCompilerTool) { if ( !filter.CompilerTool.ForcedIncludeFiles.isEmpty() ) { |