summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32
diff options
context:
space:
mode:
Diffstat (limited to 'qmake/generators/win32')
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp7
-rw-r--r--qmake/generators/win32/msvc_nmake.cpp25
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp3
3 files changed, 23 insertions, 12 deletions
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index cbf7cf26dc..aad6e6e878 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -643,7 +643,12 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
<< tagValue("DefaultLanguage", "en")
<< tagValue("AppContainerApplication", "true")
<< tagValue("ApplicationType", isWinPhone ? "Windows Phone" : "Windows Store")
- << tagValue("ApplicationTypeRevision", tool.SdkVersion == "10.0" ? "8.2" : tool.SdkVersion);
+ << tagValue("ApplicationTypeRevision", tool.SdkVersion);
+ if (tool.SdkVersion == "10.0") {
+ const QString ucrtVersion = qgetenv("UCRTVERSION");
+ xml << tagValue("WindowsTargetPlatformVersion", ucrtVersion)
+ << tagValue("WindowsTargetPlatformMinVersion", ucrtVersion);
+ }
}
xml << closetag();
diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp
index aff8d9fcad..7646198da1 100644
--- a/qmake/generators/win32/msvc_nmake.cpp
+++ b/qmake/generators/win32/msvc_nmake.cpp
@@ -190,19 +190,24 @@ NmakeMakefileGenerator::writeMakefile(QTextStream &t)
incDirs << vcInstallDir + QStringLiteral("include");
incDirs << vcInstallDir + QStringLiteral("atlmfc/include");
- // ### Investigate why VS uses 10056 first
- incDirs << kitDir + QStringLiteral("Include/10.0.10056.0/ucrt");
- incDirs << kitDir + QStringLiteral("Include/10.0.10069.0/ucrt");
- incDirs << kitDir + QStringLiteral("Include/10.0.10069.0/um");
- incDirs << kitDir + QStringLiteral("Include/10.0.10069.0/shared");
- incDirs << kitDir + QStringLiteral("Include/10.0.10069.0/winrt");
+
+ const QString crtVersion = qgetenv("UCRTVersion");
+ if (crtVersion.isEmpty()) {
+ fprintf(stderr, "Failed to access CRT version.\n");
+ return false;
+ }
+ const QString crtInclude = kitDir + QStringLiteral("Include/") + crtVersion;
+ const QString crtLib = kitDir + QStringLiteral("Lib/") + crtVersion;
+ incDirs << crtInclude + QStringLiteral("/ucrt");
+ incDirs << crtInclude + QStringLiteral("/um");
+ incDirs << crtInclude + QStringLiteral("/shared");
+ incDirs << crtInclude + QStringLiteral("/winrt");
libDirs << vcInstallDir + QStringLiteral("lib/store/") + compilerArch;
libDirs << vcInstallDir + QStringLiteral("atlmfc/lib") + compilerArch;
- // ### Investigate why VS uses 10056 first
- libDirs << kitDir + QStringLiteral("lib/10.0.10056.0/ucrt/") + arch;
- libDirs << kitDir + QStringLiteral("lib/10.0.10069.0/ucrt/") + arch;
- libDirs << kitDir + QStringLiteral("lib/10.0.10069.0/um/") + arch;
+
+ libDirs << crtLib + QStringLiteral("/ucrt/") + arch;
+ libDirs << crtLib + QStringLiteral("/um/") + arch;
} else if (isPhone) {
QString sdkDir = vcInstallDir;
if (!QDir(sdkDir).exists()) {
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index b8f9c8135d..ae4fcfd482 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -1307,7 +1307,8 @@ void VcprojGenerator::initDeploymentTool()
}
ProStringList dllPaths = project->values("QMAKE_DLL_PATHS");
// Only deploy Qt libs for shared build
- if (!dllPaths.isEmpty()) {
+ if (!dllPaths.isEmpty() &&
+ !(conf.WinRT && project->first("MSVC_VER").toQString() == "14.0")) {
// FIXME: This code should actually resolve the libraries from all Qt modules.
ProStringList arg = project->values("QMAKE_LIBS") + project->values("QMAKE_LIBS_PRIVATE");
for (ProStringList::ConstIterator it = arg.constBegin(); it != arg.constEnd(); ++it) {