summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/msvc_objectmodel.cpp
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-06-18 08:58:31 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-06-25 12:08:38 +0200
commit28a7af7b2ae1accec904b276d3bd240608d3a73f (patch)
treefc2183536a504f9d0ade99924b1310f6fcf590bf /qmake/generators/win32/msvc_objectmodel.cpp
parent1b972b210ae1611b2ee07e1c3f545963c7cc31e7 (diff)
basic manifest tool support in vc(x)proj generator
The removal of embed_manifest_dll or embed_manifest_exe from CONFIG now disables the embedding of manifests in VS project files. Task-number: QTBUG-5301 Change-Id: I031318883edca6f9b63a7981ef6c44e3f123f6fd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'qmake/generators/win32/msvc_objectmodel.cpp')
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index 725aba26a2..4dbba6d974 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -97,6 +97,7 @@ const char _Description[] = "Description";
const char _Detect64BitPortabilityProblems[] = "Detect64BitPortabilityProblems";
const char _DisableLanguageExtensions[] = "DisableLanguageExtensions";
const char _DisableSpecificWarnings[] = "DisableSpecificWarnings";
+const char _EmbedManifest[] = "EmbedManifest";
const char _EnableCOMDATFolding[] = "EnableCOMDATFolding";
const char _EnableErrorChecks[] = "EnableErrorChecks";
const char _EnableEnhancedInstructionSet[] = "EnableEnhancedInstructionSet";
@@ -224,6 +225,7 @@ const char _ValidateParameters[] = "ValidateParameters";
const char _VCCLCompilerTool[] = "VCCLCompilerTool";
const char _VCLibrarianTool[] = "VCLibrarianTool";
const char _VCLinkerTool[] = "VCLinkerTool";
+const char _VCManifestTool[] = "VCManifestTool";
const char _VCCustomBuildTool[] = "VCCustomBuildTool";
const char _VCResourceCompilerTool[] = "VCResourceCompilerTool";
const char _VCMIDLTool[] = "VCMIDLTool";
@@ -1718,6 +1720,23 @@ bool VCLinkerTool::parseOption(const char* option)
return found;
}
+// VCManifestTool ---------------------------------------------------
+VCManifestTool::VCManifestTool()
+ : EmbedManifest(unset)
+{
+}
+
+VCManifestTool::~VCManifestTool()
+{
+}
+
+bool VCManifestTool::parseOption(const char *option)
+{
+ Q_UNUSED(option);
+ // ### implement if we introduce QMAKE_MT_FLAGS
+ return false;
+}
+
// VCMIDLTool -------------------------------------------------------
VCMIDLTool::VCMIDLTool()
: DefaultCharType(midlCharUnsigned),
@@ -2633,6 +2652,14 @@ void VCProjectWriter::write(XmlOutput &xml, const VCLinkerTool &tool)
<< closetag(_Tool);
}
+void VCProjectWriter::write(XmlOutput &xml, const VCManifestTool &tool)
+{
+ xml << tag(_Tool)
+ << attrS(_Name, _VCManifestTool)
+ << attrT(_EmbedManifest, tool.EmbedManifest)
+ << closetag(_Tool);
+}
+
void VCProjectWriter::write(XmlOutput &xml, const VCMIDLTool &tool)
{
xml << tag(_Tool)
@@ -2764,6 +2791,7 @@ void VCProjectWriter::write(XmlOutput &xml, const VCConfiguration &tool)
write(xml, tool.librarian);
else
write(xml, tool.linker);
+ write(xml, tool.manifestTool);
write(xml, tool.idl);
write(xml, tool.postBuild);
write(xml, tool.preBuild);