summaryrefslogtreecommitdiffstats
path: root/tools/qmake
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-05-19 11:49:50 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-06-28 12:25:27 +0000
commit3fb34fe46daa2ff8dfdc1b7fd65c1ca3d7b6cfaf (patch)
treee10a2c898c0231616b547039269539c5c042cdae /tools/qmake
parentb737f3fa3d34c97aed10863c27fe98664c427225 (diff)
Require Windows 10 SDK
We can not build without the Windows 10 SDK, so test if we have one before starting a build. Change-Id: Ib7b6ea3be6a228b4f9baaa15b3d11b79b70b90c2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'tools/qmake')
-rw-r--r--tools/qmake/mkspecs/features/functions.prf20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
index ed6fa289b..77d512f5f 100644
--- a/tools/qmake/mkspecs/features/functions.prf
+++ b/tools/qmake/mkspecs/features/functions.prf
@@ -22,6 +22,10 @@ defineTest(isPlatformSupported) {
isBuildingOnWin32() {
skipBuild("Qt WebEngine on Windows must be built on a 64-bit machine.")
}
+ !isMinWinSDKVersion(10, 10586): {
+ skipBuild("Qt WebEngine on Windows requires a Windows SDK version 10.0.10586 or newer.")
+ return(false)
+ }
} else:osx {
lessThan(QMAKE_XCODE_VERSION, 5.1) {
skipBuild("Using XCode version $$QMAKE_XCODE_VERSION, but at least version 5.1 is required to build Qt WebEngine.")
@@ -114,6 +118,22 @@ defineTest(isMinOSXSDKVersion) {
return(false)
}
+defineTest(isMinWinSDKVersion) {
+ requested_major = $$1
+ requested_minor = $$2
+ WIN_SDK_VERSION = $$(WindowsSDKVersion)
+
+ # major.0.minor
+ major_version = $$section(WIN_SDK_VERSION, ., 0, 0)
+ minor_version = $$section(WIN_SDK_VERSION, ., 2, 2)
+
+ greaterThan(major_version, $$requested_major):return(true)
+ equals(major_version, $$requested_major):greaterThan(minor_version, $$requested_minor):return(true)
+ equals(major_version, $$requested_major):equals(minor_version, $$requested_minor)::return(true)
+
+ return(false)
+}
+
# Map to the correct target type for gyp
defineReplace(toGypTargetType) {
equals(TEMPLATE, "app"):return("executable")