5f0ce2333f
The flag makes the build fail for UWP as well as desktop Windows . It
will trigger a compile error as soon as UWP API is used, which happens
in qtbase for desktop in the direct2d backend, but it is also used for
other Qt modules, so we decided to disable the flag for now.
This patch partly reverts b7d76e533c
Task-number: QTBUG-61239
Change-Id: I0cc630f4c09c52f0c116f4a7b95a44c3a55e0be3
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
96 lines
2.9 KiB
Plaintext
96 lines
2.9 KiB
Plaintext
#
|
|
# qmake configuration for Microsoft Visual Studio C/C++ Compiler
|
|
# This file is used by win32-msvc, win32-clang-msvc, and all
|
|
# winrt-XXX-msvcXXX specs
|
|
#
|
|
|
|
#
|
|
# Version-specific changes
|
|
#
|
|
|
|
isEmpty(QMAKE_MSC_VER): error("msvc-version.conf loaded but QMAKE_MSC_VER isn't set")
|
|
|
|
MSVC_VER = 8.0
|
|
COMPAT_MKSPEC = win32-msvc2005
|
|
|
|
greaterThan(QMAKE_MSC_VER, 1499) {
|
|
# Visual Studio 2008 (9.0) / Visual C++ 15.0 and up
|
|
MSVC_VER = 9.0
|
|
COMPAT_MKSPEC = win32-msvc2008
|
|
QMAKE_CFLAGS_MP = -MP
|
|
QMAKE_CXXFLAGS_MP = $$QMAKE_CFLAGS_MP
|
|
}
|
|
|
|
greaterThan(QMAKE_MSC_VER, 1599) {
|
|
# Visual Studio 2010 (10.0) / Visual C++ 16.0 and up
|
|
MSVC_VER = 10.0
|
|
COMPAT_MKSPEC = win32-msvc2010
|
|
MAKEFILE_GENERATOR = MSBUILD
|
|
|
|
QMAKE_CFLAGS_AVX = -arch:AVX
|
|
QMAKE_CFLAGS_AVX2 = -arch:AVX
|
|
|
|
VCPROJ_EXTENSION = .vcxproj
|
|
}
|
|
|
|
greaterThan(QMAKE_MSC_VER, 1699) {
|
|
# Visual Studio 2012 (11.0) / Visual C++ 17.0 and up
|
|
MSVC_VER = 11.0
|
|
COMPAT_MKSPEC = win32-msvc2012
|
|
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -D_HAS_EXCEPTIONS=0
|
|
QT_CONFIG += c++11
|
|
CONFIG += c++11
|
|
}
|
|
|
|
greaterThan(QMAKE_MSC_VER, 1799) {
|
|
# Visual Studio 2013 (12.0) / Visual C++ 18.0 and up
|
|
MSVC_VER = 12.0
|
|
COMPAT_MKSPEC = win32-msvc2013
|
|
QMAKE_CFLAGS += -FS
|
|
QMAKE_CXXFLAGS += -FS -Zc:rvalueCast -Zc:inline
|
|
|
|
QMAKE_CFLAGS_F16C = -arch:AVX
|
|
|
|
equals(QMAKE_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(QMAKE_MSC_VER, 1899) {
|
|
# Visual Studio 2015 (14.0) / Visual C++ 19.0 and up
|
|
MSVC_VER = 14.0
|
|
COMPAT_MKSPEC = win32-msvc2015
|
|
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_FULL_VER, 190023918):!intel_icl {
|
|
isEmpty(QT_CLANG_MAJOR_VERSION)|!lessThan(QT_CLANG_MAJOR_VERSION, 4) {
|
|
QMAKE_CFLAGS_UTF8_SOURCE = -utf-8
|
|
}
|
|
}
|
|
}
|
|
|
|
greaterThan(QMAKE_MSC_VER, 1909) {
|
|
# Visual Studio 2017 (15.0) / Visual C++ 19.10 and up
|
|
MSVC_VER = 15.0
|
|
COMPAT_MKSPEC = win32-msvc2017
|
|
QMAKE_CXXFLAGS += -Zc:referenceBinding
|
|
# For now permissive fails as soon as UWP API comes into play. In qtbase this
|
|
# API is used in direct2d, but also in multimedia, positioning and sensors.
|
|
# We can try again with a later version of Visual Studio.
|
|
# QMAKE_CXXFLAGS_STRICTCXX = -permissive-
|
|
}
|
|
|
|
greaterThan(QMAKE_MSC_VER, 1910) {
|
|
# No compat spec past MSVC 2017
|
|
COMPAT_MKSPEC =
|
|
}
|
|
|
|
!isEmpty(COMPAT_MKSPEC):!$$COMPAT_MKSPEC: CONFIG += $$COMPAT_MKSPEC
|