diff --git a/cmake/QtBuildHelpers.cmake b/cmake/QtBuildHelpers.cmake index 79d47d87378..8da84aa2f45 100644 --- a/cmake/QtBuildHelpers.cmake +++ b/cmake/QtBuildHelpers.cmake @@ -213,6 +213,7 @@ function(qt_internal_get_qt_build_private_helpers out_var) QtToolchainHelpers QtUnityBuildHelpers QtWasmHelpers + QtWindowsHelpers QtWrapperScriptHelpers PARENT_SCOPE ) @@ -449,6 +450,7 @@ macro(qt_internal_setup_build_and_global_variables) qt_internal_check_macos_host_version() _qt_internal_check_apple_sdk_and_xcode_versions() + qt_internal_check_msvc_versions() qt_internal_check_host_path_set_for_cross_compiling() qt_internal_setup_android_platform_specifics() qt_internal_setup_find_host_info_package() diff --git a/cmake/QtWindowsHelpers.cmake b/cmake/QtWindowsHelpers.cmake new file mode 100644 index 00000000000..364536883b7 --- /dev/null +++ b/cmake/QtWindowsHelpers.cmake @@ -0,0 +1,16 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +function(qt_internal_check_msvc_versions) + if(NOT MSVC OR QT_NO_MSVC_MIN_VERSION_CHECK) + return() + endif() + set(min_msvc_version "1930") + if(MSVC_VERSION VERSION_LESS min_msvc_version) + message(FATAL_ERROR + "Qt requires at least Visual Studio 2019 (MSVC ${min_msvc_version} or newer), " + "you're building against version ${MSVC_VERSION}. " + "You can turn off this version check by setting QT_NO_MSVC_MIN_VERSION_CHECK to ON." + ) + endif() +endfunction()