diff options
Diffstat (limited to 'qmake/generators/win32')
-rw-r--r-- | qmake/generators/win32/msbuild_objectmodel.cpp | 7 | ||||
-rw-r--r-- | qmake/generators/win32/msvc_nmake.cpp | 25 | ||||
-rw-r--r-- | qmake/generators/win32/msvc_vcproj.cpp | 3 |
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) { |