summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorMaurice Kalinowski <maurice.kalinowski@theqtcompany.com>2015-09-02 12:54:21 +0200
committerMaurice Kalinowski <maurice.kalinowski@theqtcompany.com>2015-11-30 14:29:44 +0000
commit7733a5fccc39aa5141e5968eef3fa47bc62917d9 (patch)
tree58f113eb65016a921c3824b9565a9ceb1ac5c16c /mkspecs
parenteb16f853529e4e0c10816054d2c28030963097ce (diff)
msvc: Introduce base config file for all targets
Visual Studio version specific changes have been added to msvc- desktop.conf which is not used in WinRT or Windows Phone related builds. Hence take a similar approach to gcc and introduce msvc-base to be used by all configurations for common settings. For WinRT this will only be applied to msvc2015 and later on to not introduce any regressions or behavior changes for previous versions. Change-Id: Ib1a4d539d46d788470c00cb5969fee74a803bd67 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/msvc-base.conf56
-rw-r--r--mkspecs/common/msvc-desktop.conf50
-rw-r--r--mkspecs/common/winrt_winphone/qmake.conf5
-rw-r--r--mkspecs/winrt-arm-msvc2015/qmake.conf1
-rw-r--r--mkspecs/winrt-x64-msvc2015/qmake.conf1
-rw-r--r--mkspecs/winrt-x86-msvc2015/qmake.conf1
6 files changed, 65 insertions, 49 deletions
diff --git a/mkspecs/common/msvc-base.conf b/mkspecs/common/msvc-base.conf
new file mode 100644
index 0000000000..5bd144faa0
--- /dev/null
+++ b/mkspecs/common/msvc-base.conf
@@ -0,0 +1,56 @@
+#
+# qmake configuration for Microsoft Visual Studio C/C++ Compiler
+# This mkspec is used for all win32-msvcXXXX, winrt-XXX-msvcXXX
+# and winphone-XXX-msvcXXX specs
+#
+
+#
+# Version-specific changes
+#
+
+greaterThan(MSC_VER, 1499) {
+ # Visual Studio 2008 (9.0) / Visual C++ 15.0 and up
+ QMAKE_CFLAGS_MP = -MP
+ QMAKE_CXXFLAGS_MP = $$QMAKE_CFLAGS_MP
+}
+
+greaterThan(MSC_VER, 1599) {
+ # Visual Studio 2010 (10.0) / Visual C++ 16.0 and up
+ MAKEFILE_GENERATOR = MSBUILD
+
+ QMAKE_CFLAGS_AVX = -arch:AVX
+ QMAKE_CFLAGS_AVX2 = -arch:AVX
+
+ VCPROJ_EXTENSION = .vcxproj
+}
+
+greaterThan(MSC_VER, 1699) {
+ # Visual Studio 2012 (11.0) / Visual C++ 17.0 and up
+ QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -D_HAS_EXCEPTIONS=0
+ QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE@QMAKE_SUBSYSTEM_SUFFIX@
+ QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS@QMAKE_SUBSYSTEM_SUFFIX@
+ QT_CONFIG += c++11
+ CONFIG += c++11
+}
+
+greaterThan(MSC_VER, 1799) {
+ # Visual Studio 2013 (12.0) / Visual C++ 18.0 and up
+ QMAKE_CFLAGS += -FS
+ QMAKE_CXXFLAGS += -FS
+
+ equals(MSC_VER, 1800) {
+ QMAKE_CFLAGS_RELEASE += -Zc:strictStrings
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -Zc:strictStrings
+ QMAKE_CXXFLAGS_RELEASE += -Zc:strictStrings
+ QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -Zc:strictStrings
+ }
+}
+
+greaterThan(MSC_VER, 1899) {
+ # Visual Studio 2015 (14.0) / Visual C++ 19.0 and up
+ 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
+}
diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf
index a1c436388c..3aeb331de6 100644
--- a/mkspecs/common/msvc-desktop.conf
+++ b/mkspecs/common/msvc-desktop.conf
@@ -97,54 +97,6 @@ VCPROJ_EXTENSION = .vcproj
VCSOLUTION_EXTENSION = .sln
VCPROJ_KEYWORD = Qt4VSv1.0
-#
-# Version-specific changes
-#
-greaterThan(MSC_VER, 1499) {
- # Visual Studio 2008 (9.0) / Visual C++ 15.0 and up
- QMAKE_CFLAGS_MP = -MP
- QMAKE_CXXFLAGS_MP = $$QMAKE_CFLAGS_MP
-}
-
-greaterThan(MSC_VER, 1599) {
- # Visual Studio 2010 (10.0) / Visual C++ 16.0 and up
- MAKEFILE_GENERATOR = MSBUILD
-
- QMAKE_CFLAGS_AVX = -arch:AVX
- QMAKE_CFLAGS_AVX2 = -arch:AVX
-
- VCPROJ_EXTENSION = .vcxproj
-}
-
-greaterThan(MSC_VER, 1699) {
- # Visual Studio 2012 (11.0) / Visual C++ 17.0 and up
- QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -D_HAS_EXCEPTIONS=0
- QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE@QMAKE_SUBSYSTEM_SUFFIX@
- QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS@QMAKE_SUBSYSTEM_SUFFIX@
- QT_CONFIG += c++11
- CONFIG += c++11
-}
-
-greaterThan(MSC_VER, 1799) {
- # Visual Studio 2013 (12.0) / Visual C++ 18.0 and up
- QMAKE_CFLAGS += -FS
- QMAKE_CXXFLAGS += -FS
-
- equals(MSC_VER, 1800) {
- QMAKE_CFLAGS_RELEASE += -Zc:strictStrings
- QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -Zc:strictStrings
- QMAKE_CXXFLAGS_RELEASE += -Zc:strictStrings
- QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -Zc:strictStrings
- }
-}
-
-greaterThan(MSC_VER, 1899) {
- # Visual Studio 2015 (14.0) / Visual C++ 19.0 and up
- 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
-}
+include(msvc-base.conf)
unset(MSC_VER)
diff --git a/mkspecs/common/winrt_winphone/qmake.conf b/mkspecs/common/winrt_winphone/qmake.conf
index 288043da88..e94b4b72fa 100644
--- a/mkspecs/common/winrt_winphone/qmake.conf
+++ b/mkspecs/common/winrt_winphone/qmake.conf
@@ -92,4 +92,9 @@ VCPROJ_EXTENSION = .vcxproj
VCSOLUTION_EXTENSION = .sln
VCPROJ_KEYWORD = Qt4VSv1.0
WINRT_ASSETS_PATH = $$PWD/assets
+
+include(../msvc-base.conf)
+
+unset(MSC_VER)
+
load(qt_config)
diff --git a/mkspecs/winrt-arm-msvc2015/qmake.conf b/mkspecs/winrt-arm-msvc2015/qmake.conf
index a5bb342456..7a9375246d 100644
--- a/mkspecs/winrt-arm-msvc2015/qmake.conf
+++ b/mkspecs/winrt-arm-msvc2015/qmake.conf
@@ -4,6 +4,7 @@
# Written for Microsoft Visual C++ 2015
#
+MSC_VER = 1900
include(../common/winrt_winphone/qmake.conf)
QMAKE_COMPILER_DEFINES += _MSC_VER=1900
DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 ARM __ARM__ __arm__
diff --git a/mkspecs/winrt-x64-msvc2015/qmake.conf b/mkspecs/winrt-x64-msvc2015/qmake.conf
index 5b82f79981..ca2dc88bf0 100644
--- a/mkspecs/winrt-x64-msvc2015/qmake.conf
+++ b/mkspecs/winrt-x64-msvc2015/qmake.conf
@@ -4,6 +4,7 @@
# Written for Microsoft Visual C++ 2015
#
+MSC_VER = 1900
include(../common/winrt_winphone/qmake.conf)
QMAKE_COMPILER_DEFINES += _MSC_VER=1900 _WIN32
DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 X64 __X64__ __x64__
diff --git a/mkspecs/winrt-x86-msvc2015/qmake.conf b/mkspecs/winrt-x86-msvc2015/qmake.conf
index bc7cf4118e..3b2681e93d 100644
--- a/mkspecs/winrt-x86-msvc2015/qmake.conf
+++ b/mkspecs/winrt-x86-msvc2015/qmake.conf
@@ -4,6 +4,7 @@
# Written for Microsoft Visual C++ 2015
#
+MSC_VER = 1900
include(../common/winrt_winphone/qmake.conf)
QMAKE_COMPILER_DEFINES += _MSC_VER=1900 _WIN32
DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 X86 __X86__ __x86__