summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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";