From 6e34552638cc4a6e71f90a36a7c6cea457b24fe1 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 20 Jul 2018 09:21:08 +0200 Subject: Enable users to specify WindowsTargetPlatform[Min]Version in VS projects [ChangeLog][qmake] Introduced the variables WINDOWS_TARGET_PLATFORM_VERSION and WINDOWS_TARGET_PLATFORM_MIN_VERSION for overriding the default values of WindowsTargetPlatformVersion and WindowsTargetPlatformMinVersion in Visual Studio project files. The code to determine the default values is moved to qmake feature files. A common/windows-desktop.conf file is introduced for variables common to all non-UWP Windows mkspecs. The package_manifest feature uses WINDOWS_TARGET_PLATFORM_VERSION as default value for WINRT_MANIFEST.minVersion, and WINDOWS_TARGET_PLATFORM_MIN_VERSION for WINRT_MANIFEST.maxVersionTested respectively. Task-number: QTBUG-53654 Change-Id: I251ec7f9b804c9bc9f7d571f5b43d52b2a2d99d3 Reviewed-by: Oswald Buddenhagen Reviewed-by: Oliver Wolff --- mkspecs/common/msvc-desktop.conf | 1 + mkspecs/common/windows-desktop.conf | 5 +++++ mkspecs/common/winrt_winphone/qmake.conf | 2 ++ mkspecs/features/default_post.prf | 4 ++++ mkspecs/features/winrt/package_manifest.prf | 7 ++++--- mkspecs/win32-g++/qmake.conf | 1 + 6 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 mkspecs/common/windows-desktop.conf (limited to 'mkspecs') diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf index a4fadeb029..d5db3e81d5 100644 --- a/mkspecs/common/msvc-desktop.conf +++ b/mkspecs/common/msvc-desktop.conf @@ -115,4 +115,5 @@ VCSOLUTION_EXTENSION = .sln VCPROJ_KEYWORD = Qt4VSv1.0 include(angle.conf) +include(windows-desktop.conf) include(windows-vulkan.conf) diff --git a/mkspecs/common/windows-desktop.conf b/mkspecs/common/windows-desktop.conf new file mode 100644 index 0000000000..c1f2955e1b --- /dev/null +++ b/mkspecs/common/windows-desktop.conf @@ -0,0 +1,5 @@ +# This file contains initializations for Windows Desktop platforms (non-UWP) + +WINDOWS_TARGET_PLATFORM_VERSION = $$(WindowsSDKVersion) +# The version number might have a trailing backslash due to a VS bug. +WINDOWS_TARGET_PLATFORM_VERSION ~= s/\\\\$// diff --git a/mkspecs/common/winrt_winphone/qmake.conf b/mkspecs/common/winrt_winphone/qmake.conf index 375e084127..03fb96f2c5 100644 --- a/mkspecs/common/winrt_winphone/qmake.conf +++ b/mkspecs/common/winrt_winphone/qmake.conf @@ -97,6 +97,8 @@ WINRT_ASSETS_PATH = $$PWD/assets WINRT_MANIFEST.capabilities = defaults WINRT_MANIFEST.capabilities_device = defaults +WINDOWS_TARGET_PLATFORM_VERSION = $$(UCRTVERSION) + include(../angle.conf) load(qt_config) diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index fbf1f3b8df..d90da49781 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -90,6 +90,10 @@ staticlib:unix { QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STATIC_LIB } +defined(WINDOWS_TARGET_PLATFORM_VERSION, var):isEmpty(WINDOWS_TARGET_PLATFORM_MIN_VERSION) { + WINDOWS_TARGET_PLATFORM_MIN_VERSION = $$WINDOWS_TARGET_PLATFORM_VERSION +} + incredibuild_xge { CONFIG -= incredibuild_xge CONFIG = incredibuild_xge $$CONFIG diff --git a/mkspecs/features/winrt/package_manifest.prf b/mkspecs/features/winrt/package_manifest.prf index d850254dcf..facf726715 100644 --- a/mkspecs/features/winrt/package_manifest.prf +++ b/mkspecs/features/winrt/package_manifest.prf @@ -96,9 +96,10 @@ isEmpty(WINRT_MANIFEST.foreground): WINRT_MANIFEST.foreground = light isEmpty(WINRT_MANIFEST.default_language): WINRT_MANIFEST.default_language = en *-msvc2015|*-msvc2017 { - isEmpty(WINRT_MANIFEST.minVersion): WINRT_MANIFEST.minVersion = $$(UCRTVersion) - isEmpty(WINRT_MANIFEST.minVersion): error("No UCRTVersion found in environment.")) - isEmpty(WINRT_MANIFEST.maxVersionTested): WINRT_MANIFEST.maxVersionTested = $$WINRT_MANIFEST.minVersion + isEmpty(WINRT_MANIFEST.minVersion): \ + WINRT_MANIFEST.minVersion = $$WINDOWS_TARGET_PLATFORM_VERSION + isEmpty(WINRT_MANIFEST.maxVersionTested): \ + WINRT_MANIFEST.maxVersionTested = $$WINDOWS_TARGET_PLATFORM_MIN_VERSION } INDENT = "$$escape_expand(\\r\\n) " diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf index ed131c6823..9bd2f5525f 100644 --- a/mkspecs/win32-g++/qmake.conf +++ b/mkspecs/win32-g++/qmake.conf @@ -8,6 +8,7 @@ # include(../common/g++-win32.conf) +include(../common/windows-desktop.conf) # modifications to g++-win32.conf -- cgit v1.2.3