summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2013-02-12 00:08:28 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-15 16:13:59 +0200
commit036cfadcc690b797c3a9b68b026f08f95b82d5ca (patch)
tree44227c8fd705de579b147399c9c52d077c02c87b /qmake/generators/win32
parentfee7420a7323d674b6c4a3aef23df19d9a1e6162 (diff)
qmake: added WinRT and WinPhone configuration switch
qmakespec for either WinRT or WinPhone have to specify QMAKE_PLATFORM with winrt and/or winphone. Change-Id: I87e0063881e6edd65de14adb006949247ce49904 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'qmake/generators/win32')
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp22
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp2
-rw-r--r--qmake/generators/win32/msvc_objectmodel.h1
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp6
4 files changed, 29 insertions, 2 deletions
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index b20f3c5ec4..5c1a0e8ecf 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -620,8 +620,23 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
<< attrTag("Label", "Globals")
<< tagValue("ProjectGuid", tool.ProjectGUID)
<< tagValue("RootNamespace", tool.Name)
- << tagValue("Keyword", tool.Keyword)
- << closetag();
+ << tagValue("Keyword", tool.Keyword);
+
+ if (tool.SingleProjects.at(0).Configuration.WinRT) {
+ xml << tagValue("MinimumVisualStudioVersion", "11.0");
+ if (tool.SingleProjects.at(0).Configuration.WinPhone)
+ xml << tagValue("WinMDAssembly", "true");
+ else
+ xml << tagValue("AppContainerApplication", "true");
+ }
+
+ if (tool.SingleProjects.at(0).Configuration.WinPhone
+ && tool.SingleProjects.at(0).Configuration.ConfigurationType == typeApplication) {
+ xml << tagValue("XapOutputs", "true");
+ xml << tagValue("XapFilename", "$(RootNamespace)_$(Configuration)_$(Platform).xap");
+ }
+
+ xml << closetag();
// config part.
xml << import("Project", "$(VCTargetsPath)\\Microsoft.Cpp.Default.props");
@@ -792,6 +807,9 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
xml << import("Project", "$(VCTargetsPath)\\Microsoft.Cpp.targets");
+ if (tool.SingleProjects.at(0).Configuration.WinPhone)
+ xml << import("Project", "$(MSBuildExtensionsPath)\\Microsoft\\WindowsPhone\\v8.0\\Microsoft.Cpp.WindowsPhone.8.0.targets");
+
xml << tag("ImportGroup")
<< attrTag("Label", "ExtensionTargets")
<< closetag();
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index d6d40bcc68..3b570c1161 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -2102,6 +2102,8 @@ VCPreLinkEventTool::VCPreLinkEventTool()
VCConfiguration::VCConfiguration()
: ATLMinimizesCRunTimeLibraryUsage(unset),
+ WinRT(false),
+ WinPhone(false),
BuildBrowserInformation(unset),
CharacterSet(charSetNotSet),
ConfigurationType(typeApplication),
diff --git a/qmake/generators/win32/msvc_objectmodel.h b/qmake/generators/win32/msvc_objectmodel.h
index 034825ed44..6473a8845a 100644
--- a/qmake/generators/win32/msvc_objectmodel.h
+++ b/qmake/generators/win32/msvc_objectmodel.h
@@ -862,6 +862,7 @@ public:
~VCConfiguration(){}
DotNET CompilerVersion;
+ bool WinRT, WinPhone;
// Variables
triState ATLMinimizesCRunTimeLibraryUsage;
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index d550748c9b..c4806f3e8f 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -968,6 +968,12 @@ void VcprojGenerator::initConfiguration()
conf.PrimaryOutput.append(project->first("TARGET_VERSION_EXT").toQString());
}
+ if (conf.CompilerVersion >= NET2012) {
+ conf.WinRT = project->isActiveConfig("winrt");
+ if (conf.WinRT)
+ conf.WinPhone = project->isActiveConfig("winphone");
+ }
+
conf.Name = project->values("BUILD_NAME").join(' ');
if (conf.Name.isEmpty())
conf.Name = isDebug ? "Debug" : "Release";