summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2016-11-16 14:18:42 +0100
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2016-12-23 13:45:26 +0000
commit4d9fbb33458c82aaf37d9712495a0653aae70533 (patch)
treee4c5bb186ccf8b05185ae96a444b7667bb8209d5 /mkspecs
parent5196d5602c70b8d4c08e49921e9459425ada8a42 (diff)
Remove hard-coded MS compiler versions from the mkspecs
We're asking the compiler anyway, so we can fully use this information just as well. Note that this actually happens after the spec itself has been processed, so it was necessary to delay the version-specific flag handling as well. Change-Id: Ib57b52598e2f452985e9fffd14587b581d946022 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/msvc-desktop.conf7
-rw-r--r--mkspecs/common/msvc-version.conf (renamed from mkspecs/common/msvc-base.conf)26
-rw-r--r--mkspecs/common/winrt_winphone/qmake.conf4
-rw-r--r--mkspecs/features/win32/default_pre.prf2
-rw-r--r--mkspecs/win32-clang-msvc2015/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2005/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2008/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2010/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2012/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2013/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2015/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2017/qmake.conf2
-rw-r--r--mkspecs/winphone-arm-msvc2013/qmake.conf1
-rw-r--r--mkspecs/winphone-x86-msvc2013/qmake.conf1
-rw-r--r--mkspecs/winrt-arm-msvc2013/qmake.conf1
-rw-r--r--mkspecs/winrt-arm-msvc2015/qmake.conf2
-rw-r--r--mkspecs/winrt-x64-msvc2013/qmake.conf1
-rw-r--r--mkspecs/winrt-x64-msvc2015/qmake.conf2
-rw-r--r--mkspecs/winrt-x86-msvc2013/qmake.conf1
-rw-r--r--mkspecs/winrt-x86-msvc2015/qmake.conf2
20 files changed, 22 insertions, 44 deletions
diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf
index ebe804db64..604321551b 100644
--- a/mkspecs/common/msvc-desktop.conf
+++ b/mkspecs/common/msvc-desktop.conf
@@ -3,10 +3,9 @@
# This mkspec is used for all win32-msvcXXXX specs
#
-isEmpty(MSC_VER)|isEmpty(MSVC_VER): error("Source mkspec must set both MSC_VER and MSVC_VER.")
-
#
# Baseline: Visual Studio 2005 (8.0), VC++ 14.0
+# Version-specific settings go in msvc-version.conf (loaded by default_pre)
#
include(angle.conf)
@@ -105,7 +104,3 @@ QMAKE_RC = rc
VCPROJ_EXTENSION = .vcproj
VCSOLUTION_EXTENSION = .sln
VCPROJ_KEYWORD = Qt4VSv1.0
-
-include(msvc-base.conf)
-
-unset(MSC_VER)
diff --git a/mkspecs/common/msvc-base.conf b/mkspecs/common/msvc-version.conf
index d54b11507e..8158ee37ab 100644
--- a/mkspecs/common/msvc-base.conf
+++ b/mkspecs/common/msvc-version.conf
@@ -8,14 +8,20 @@
# Version-specific changes
#
-greaterThan(MSC_VER, 1499) {
+isEmpty(QMAKE_MSC_VER): error("msvc-version.conf loaded but QMAKE_MSC_VER isn't set")
+
+MSVC_VER = 8.0
+
+greaterThan(QMAKE_MSC_VER, 1499) {
# Visual Studio 2008 (9.0) / Visual C++ 15.0 and up
+ MSVC_VER = 9.0
QMAKE_CFLAGS_MP = -MP
QMAKE_CXXFLAGS_MP = $$QMAKE_CFLAGS_MP
}
-greaterThan(MSC_VER, 1599) {
+greaterThan(QMAKE_MSC_VER, 1599) {
# Visual Studio 2010 (10.0) / Visual C++ 16.0 and up
+ MSVC_VER = 10.0
MAKEFILE_GENERATOR = MSBUILD
QMAKE_CFLAGS_AVX = -arch:AVX
@@ -24,19 +30,21 @@ greaterThan(MSC_VER, 1599) {
VCPROJ_EXTENSION = .vcxproj
}
-greaterThan(MSC_VER, 1699) {
+greaterThan(QMAKE_MSC_VER, 1699) {
# Visual Studio 2012 (11.0) / Visual C++ 17.0 and up
+ MSVC_VER = 11.0
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -D_HAS_EXCEPTIONS=0
QT_CONFIG += c++11
CONFIG += c++11
}
-greaterThan(MSC_VER, 1799) {
+greaterThan(QMAKE_MSC_VER, 1799) {
# Visual Studio 2013 (12.0) / Visual C++ 18.0 and up
+ MSVC_VER = 12.0
QMAKE_CFLAGS += -FS
QMAKE_CXXFLAGS += -FS
- equals(MSC_VER, 1800) {
+ equals(QMAKE_MSC_VER, 1800) {
QMAKE_CFLAGS_RELEASE += -Zc:strictStrings
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -Zc:strictStrings
QMAKE_CXXFLAGS_RELEASE += -Zc:strictStrings
@@ -44,11 +52,17 @@ greaterThan(MSC_VER, 1799) {
}
}
-greaterThan(MSC_VER, 1899) {
+greaterThan(QMAKE_MSC_VER, 1899) {
# Visual Studio 2015 (14.0) / Visual C++ 19.0 and up
+ MSVC_VER = 14.0
QMAKE_CFLAGS += -Zc:strictStrings
QMAKE_CFLAGS_WARN_ON += -w44456 -w44457 -w44458
QMAKE_CFLAGS_AVX2 = -arch:AVX2
QMAKE_CXXFLAGS += -Zc:strictStrings -Zc:throwingNew
QMAKE_CXXFLAGS_WARN_ON += -w44456 -w44457 -w44458 -wd4577 -wd4467
}
+
+greaterThan(QMAKE_MSC_VER, 1909) {
+ # Visual Studio 2017 (15.0) / Visual C++ 19.10 and up
+ MSVC_VER = 15.0
+}
diff --git a/mkspecs/common/winrt_winphone/qmake.conf b/mkspecs/common/winrt_winphone/qmake.conf
index 05c9bd39a5..27269176d0 100644
--- a/mkspecs/common/winrt_winphone/qmake.conf
+++ b/mkspecs/common/winrt_winphone/qmake.conf
@@ -97,8 +97,4 @@ WINRT_ASSETS_PATH = $$PWD/assets
WINRT_MANIFEST.capabilities = defaults
WINRT_MANIFEST.capabilities_device = defaults
-include(../msvc-base.conf)
-
-unset(MSC_VER)
-
load(qt_config)
diff --git a/mkspecs/features/win32/default_pre.prf b/mkspecs/features/win32/default_pre.prf
index 385184f632..11160f5b5c 100644
--- a/mkspecs/features/win32/default_pre.prf
+++ b/mkspecs/features/win32/default_pre.prf
@@ -1,3 +1,3 @@
CONFIG = rtti_off incremental_off windows $$CONFIG
load(default_pre)
-
+msvc:!intel_icl:!clang_cl: include(../../common/msvc-version.conf)
diff --git a/mkspecs/win32-clang-msvc2015/qmake.conf b/mkspecs/win32-clang-msvc2015/qmake.conf
index 3d04087fdf..aa78ebf83b 100644
--- a/mkspecs/win32-clang-msvc2015/qmake.conf
+++ b/mkspecs/win32-clang-msvc2015/qmake.conf
@@ -6,8 +6,6 @@
# Notice: this uses the clang-cl wrapper
#
-MSC_VER = 1900
-MSVC_VER = 14.0
include(../common/msvc-desktop.conf)
QMAKE_COMPILER += clang_cl llvm
diff --git a/mkspecs/win32-msvc2005/qmake.conf b/mkspecs/win32-msvc2005/qmake.conf
index 458f37cc04..3fbf797b5b 100644
--- a/mkspecs/win32-msvc2005/qmake.conf
+++ b/mkspecs/win32-msvc2005/qmake.conf
@@ -4,7 +4,5 @@
# Written for Microsoft Visual C++ 2005
#
-MSC_VER = 1400
-MSVC_VER = 8.0
include(../common/msvc-desktop.conf)
load(qt_config)
diff --git a/mkspecs/win32-msvc2008/qmake.conf b/mkspecs/win32-msvc2008/qmake.conf
index d1382ff2d4..0d9eac7008 100644
--- a/mkspecs/win32-msvc2008/qmake.conf
+++ b/mkspecs/win32-msvc2008/qmake.conf
@@ -4,7 +4,5 @@
# Written for Microsoft Visual C++ 2008
#
-MSC_VER = 1500
-MSVC_VER = 9.0
include(../common/msvc-desktop.conf)
load(qt_config)
diff --git a/mkspecs/win32-msvc2010/qmake.conf b/mkspecs/win32-msvc2010/qmake.conf
index 3ad9d478ee..3b8a50f17a 100644
--- a/mkspecs/win32-msvc2010/qmake.conf
+++ b/mkspecs/win32-msvc2010/qmake.conf
@@ -4,7 +4,5 @@
# Written for Microsoft Visual C++ 2010
#
-MSC_VER = 1600
-MSVC_VER = 10.0
include(../common/msvc-desktop.conf)
load(qt_config)
diff --git a/mkspecs/win32-msvc2012/qmake.conf b/mkspecs/win32-msvc2012/qmake.conf
index 3d9c5864af..25aaf1f5d1 100644
--- a/mkspecs/win32-msvc2012/qmake.conf
+++ b/mkspecs/win32-msvc2012/qmake.conf
@@ -4,7 +4,5 @@
# Written for Microsoft Visual C++ 2012
#
-MSC_VER = 1700
-MSVC_VER = 11.0
include(../common/msvc-desktop.conf)
load(qt_config)
diff --git a/mkspecs/win32-msvc2013/qmake.conf b/mkspecs/win32-msvc2013/qmake.conf
index 34108b2c32..87f72317ba 100644
--- a/mkspecs/win32-msvc2013/qmake.conf
+++ b/mkspecs/win32-msvc2013/qmake.conf
@@ -4,7 +4,5 @@
# Written for Microsoft Visual C++ 2013
#
-MSC_VER = 1800
-MSVC_VER = 12.0
include(../common/msvc-desktop.conf)
load(qt_config)
diff --git a/mkspecs/win32-msvc2015/qmake.conf b/mkspecs/win32-msvc2015/qmake.conf
index ea654d4296..e1f5376894 100644
--- a/mkspecs/win32-msvc2015/qmake.conf
+++ b/mkspecs/win32-msvc2015/qmake.conf
@@ -4,7 +4,5 @@
# Written for Microsoft Visual C++ 2015
#
-MSC_VER = 1900
-MSVC_VER = 14.0
include(../common/msvc-desktop.conf)
load(qt_config)
diff --git a/mkspecs/win32-msvc2017/qmake.conf b/mkspecs/win32-msvc2017/qmake.conf
index b8351eb3fe..c945c8c00d 100644
--- a/mkspecs/win32-msvc2017/qmake.conf
+++ b/mkspecs/win32-msvc2017/qmake.conf
@@ -4,7 +4,5 @@
# Written for Microsoft Visual C++ 2017
#
-MSC_VER = 1910
-MSVC_VER = 15.0
include(../common/msvc-desktop.conf)
load(qt_config)
diff --git a/mkspecs/winphone-arm-msvc2013/qmake.conf b/mkspecs/winphone-arm-msvc2013/qmake.conf
index 64ff295f14..7656adbf00 100644
--- a/mkspecs/winphone-arm-msvc2013/qmake.conf
+++ b/mkspecs/winphone-arm-msvc2013/qmake.conf
@@ -16,7 +16,6 @@ QMAKE_LFLAGS += /MACHINE:ARM /NODEFAULTLIB:kernel32.lib
QMAKE_LIBS += WindowsPhoneCore.lib PhoneAppModelHost.lib
VCPROJ_ARCH = ARM
-MSVC_VER = 12.0
WINSDK_VER = 8.1
WINTARGET_VER = WP81
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in
diff --git a/mkspecs/winphone-x86-msvc2013/qmake.conf b/mkspecs/winphone-x86-msvc2013/qmake.conf
index bc074f03dd..aa9e5b791b 100644
--- a/mkspecs/winphone-x86-msvc2013/qmake.conf
+++ b/mkspecs/winphone-x86-msvc2013/qmake.conf
@@ -16,7 +16,6 @@ QMAKE_LFLAGS += /MACHINE:X86 /NODEFAULTLIB:kernel32.lib
QMAKE_LIBS += WindowsPhoneCore.lib PhoneAppModelHost.lib
VCPROJ_ARCH = Win32
-MSVC_VER = 12.0
WINSDK_VER = 8.1
WINTARGET_VER = WP81
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in
diff --git a/mkspecs/winrt-arm-msvc2013/qmake.conf b/mkspecs/winrt-arm-msvc2013/qmake.conf
index 547884ce7e..14bd16d555 100644
--- a/mkspecs/winrt-arm-msvc2013/qmake.conf
+++ b/mkspecs/winrt-arm-msvc2013/qmake.conf
@@ -14,7 +14,6 @@ QMAKE_LFLAGS += /MACHINE:ARM
QMAKE_LIBS += windowscodecs.lib kernel32.lib ole32.lib
VCPROJ_ARCH = ARM
-MSVC_VER = 12.0
WINSDK_VER = 8.1
WINTARGET_VER = winv6.3
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/8.1/AppxManifest.xml.in
diff --git a/mkspecs/winrt-arm-msvc2015/qmake.conf b/mkspecs/winrt-arm-msvc2015/qmake.conf
index ef145ae44b..8bca6f4af8 100644
--- a/mkspecs/winrt-arm-msvc2015/qmake.conf
+++ b/mkspecs/winrt-arm-msvc2015/qmake.conf
@@ -4,7 +4,6 @@
# Written for Microsoft Visual C++ 2015
#
-MSC_VER = 1900
include(../common/winrt_winphone/qmake.conf)
DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 ARM __ARM__ __arm__
@@ -15,7 +14,6 @@ QMAKE_LFLAGS += /MACHINE:ARM /NODEFAULTLIB:kernel32.lib
QMAKE_LIBS += windowscodecs.lib WindowsApp.lib runtimeobject.lib OneCore.lib
VCPROJ_ARCH = ARM
-MSVC_VER = 14.0
WINSDK_VER = 10.0
WINTARGET_VER = winv10.0
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/10.0/AppxManifest.xml.in
diff --git a/mkspecs/winrt-x64-msvc2013/qmake.conf b/mkspecs/winrt-x64-msvc2013/qmake.conf
index c90db8b314..238f9f0d93 100644
--- a/mkspecs/winrt-x64-msvc2013/qmake.conf
+++ b/mkspecs/winrt-x64-msvc2013/qmake.conf
@@ -14,7 +14,6 @@ QMAKE_LFLAGS += /MACHINE:X64
QMAKE_LIBS += windowscodecs.lib kernel32.lib ole32.lib
VCPROJ_ARCH = x64
-MSVC_VER = 12.0
WINSDK_VER = 8.1
WINTARGET_VER = winv6.3
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/8.1/AppxManifest.xml.in
diff --git a/mkspecs/winrt-x64-msvc2015/qmake.conf b/mkspecs/winrt-x64-msvc2015/qmake.conf
index 3bf5aa4bc8..d7e2fcf3c2 100644
--- a/mkspecs/winrt-x64-msvc2015/qmake.conf
+++ b/mkspecs/winrt-x64-msvc2015/qmake.conf
@@ -4,7 +4,6 @@
# Written for Microsoft Visual C++ 2015
#
-MSC_VER = 1900
include(../common/winrt_winphone/qmake.conf)
QMAKE_COMPILER_DEFINES += _WIN32
DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 X64 __X64__ __x64__
@@ -16,7 +15,6 @@ QMAKE_LFLAGS += /MACHINE:X64 /NODEFAULTLIB:kernel32.lib
QMAKE_LIBS += windowscodecs.lib WindowsApp.lib runtimeobject.lib OneCore.lib
VCPROJ_ARCH = x64
-MSVC_VER = 14.0
WINSDK_VER = 10.0
WINTARGET_VER = winv10.0
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/10.0/AppxManifest.xml.in
diff --git a/mkspecs/winrt-x86-msvc2013/qmake.conf b/mkspecs/winrt-x86-msvc2013/qmake.conf
index 729a0ba068..cc125d3f0c 100644
--- a/mkspecs/winrt-x86-msvc2013/qmake.conf
+++ b/mkspecs/winrt-x86-msvc2013/qmake.conf
@@ -15,7 +15,6 @@ QMAKE_LFLAGS += /SAFESEH /MACHINE:X86
QMAKE_LIBS += windowscodecs.lib kernel32.lib ole32.lib
VCPROJ_ARCH = Win32
-MSVC_VER = 12.0
WINSDK_VER = 8.1
WINTARGET_VER = winv6.3
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/8.1/AppxManifest.xml.in
diff --git a/mkspecs/winrt-x86-msvc2015/qmake.conf b/mkspecs/winrt-x86-msvc2015/qmake.conf
index 00d9126790..0983174ae2 100644
--- a/mkspecs/winrt-x86-msvc2015/qmake.conf
+++ b/mkspecs/winrt-x86-msvc2015/qmake.conf
@@ -4,7 +4,6 @@
# Written for Microsoft Visual C++ 2015
#
-MSC_VER = 1900
include(../common/winrt_winphone/qmake.conf)
QMAKE_COMPILER_DEFINES += _WIN32
DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 X86 __X86__ __x86__
@@ -15,7 +14,6 @@ QMAKE_LFLAGS += /SAFESEH /MACHINE:X86 /NODEFAULTLIB:kernel32.lib
QMAKE_LIBS += windowscodecs.lib WindowsApp.lib runtimeobject.lib OneCore.lib
VCPROJ_ARCH = Win32
-MSVC_VER = 14.0
WINSDK_VER = 10.0
WINTARGET_VER = winv10.0
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/10.0/AppxManifest.xml.in