#
# 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
}

greaterThan(QMAKE_MSC_VER, 1949) {
    # Visual Studio 2026 (18.0) / Visual C++ 19.50 and up
    MSVC_VER            = 18.0
    MSVC_TOOLSET_VER    = 145
}

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