summaryrefslogtreecommitdiffstats
path: root/mkspecs/common/msvc-based-version.conf
blob: ba72c3a0ac36dcbaaa181a80baac3a0b845cb7eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#
# 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
    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
}

greaterThan(QMAKE_MSC_VER, 1929) {
    # Visual Studio 2022 (17.0) / Visual C++ 19.30 and up
    MSVC_VER            = 17.0
}

!isEmpty(COMPAT_MKSPEC):!$$COMPAT_MKSPEC: CONFIG += $$COMPAT_MKSPEC