qt5base-lts/mkspecs/common/msvc-based-version.conf
Joerg Bornemann 3582116a60 qmake: Introduce the variable MSVC_TOOLSET_VER
...which represents the version of the MSVC platform toolset.

This variable is used to set the platform toolset version in .vcxproj
files.  Before, the platform toolset version was determined in qmake's
C++ code.  Now, it's set next to where MSVC_VER is set in common mkspecs
.conf files.  This will simplify supporting new Visual Studio versions
in the future.

Change-Id: If78c921f93c6378829746d617c7e7d312174257e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-11-10 14:47:42 +01:00

46 lines
1.2 KiB
Plaintext

#
# qmake configuration for Compilers based on the Microsoft Visual Studio
# C/C++ Compilers like win32-clang-msvc
#
# Version-specific changes
#
isEmpty(QMAKE_MSC_VER): error("msvc-based-version.conf loaded but QMAKE_MSC_VER isn't set")
MSVC_VER = 14.0
COMPAT_MKSPEC = win32-msvc2015
# -utf-8 compiler option for Visual Studio 2015 Update 2
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
MSVC_TOOLSET_VER = 141
COMPAT_MKSPEC = win32-msvc2017
}
greaterThan(QMAKE_MSC_VER, 1910) {
# No compat spec past MSVC 2017
COMPAT_MKSPEC =
}
greaterThan(QMAKE_MSC_VER, 1919) {
# Visual Studio 2019 (16.0) / Visual C++ 19.20 and up
MSVC_VER = 16.0
MSVC_TOOLSET_VER = 142
}
greaterThan(QMAKE_MSC_VER, 1929) {
# Visual Studio 2022 (17.0) / Visual C++ 19.30 and up
MSVC_VER = 17.0
MSVC_TOOLSET_VER = 143
}
!isEmpty(COMPAT_MKSPEC):!$$COMPAT_MKSPEC: CONFIG += $$COMPAT_MKSPEC