CMake: Require CMake 3.21 when building/using Qt on Apple platforms
Explicitly check that at least CMake 3.21 is used when building Qt or when using Qt in a project. This only affects macOS and iOS builds. We check for 3.21 instead of 3.21.1 as described in the documentation to avoid an error like: Policy VERSION range "3.21.1...3.21" specifies a larger minimum than maximum. Until the technical limitation is addressed, if someone does end up using 3.21.1, another existing check for "unsuitable" cmake versions (as opposed to minimum required) will let them know they should use something newer. Amends 1cf3295cef321c9a587af2f2de7740c0cd3ca743. Pick-to: 6.6 Fixes: QTBUG-114869 Change-Id: I2a479baaa63cfbe23af187cf0796e1c00042692b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This commit is contained in:
parent
25027444a9
commit
9ef864f56f
@ -16,12 +16,14 @@ set(QT_COPYRIGHT "Copyright (C) ${QT_COPYRIGHT_YEAR} The Qt Company Ltd and othe
|
|||||||
# Minimum requirement for building Qt
|
# Minimum requirement for building Qt
|
||||||
set(QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_BUILDING_QT_SHARED "3.16")
|
set(QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_BUILDING_QT_SHARED "3.16")
|
||||||
set(QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_BUILDING_QT_STATIC "3.21")
|
set(QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_BUILDING_QT_STATIC "3.21")
|
||||||
|
set(QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_BUILDING_QT_APPLE "3.21")
|
||||||
|
|
||||||
# Minimum requirement for consuming Qt in a user project.
|
# Minimum requirement for consuming Qt in a user project.
|
||||||
# This might be different in the future, e.g. be lower than the requirement for
|
# This might be different in the future, e.g. be lower than the requirement for
|
||||||
# building Qt.
|
# building Qt.
|
||||||
set(QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_USING_QT_SHARED "3.16")
|
set(QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_USING_QT_SHARED "3.16")
|
||||||
set(QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_USING_QT_STATIC "3.21")
|
set(QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_USING_QT_STATIC "3.21")
|
||||||
|
set(QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_USING_QT_APPLE "3.21")
|
||||||
|
|
||||||
# Policy settings for commands defined by qtbase. These will also be injected
|
# Policy settings for commands defined by qtbase. These will also be injected
|
||||||
# into the top level policy scope of each Qt module when building Qt so that
|
# into the top level policy scope of each Qt module when building Qt so that
|
||||||
|
@ -14,6 +14,8 @@ function(qt_internal_get_supported_min_cmake_version_for_building_qt out_var)
|
|||||||
set(supported_version "${QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_BUILDING_QT}")
|
set(supported_version "${QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_BUILDING_QT}")
|
||||||
|
|
||||||
# We're building qtbase so the values come from .cmake.conf.
|
# We're building qtbase so the values come from .cmake.conf.
|
||||||
|
elseif(APPLE)
|
||||||
|
set(supported_version "${QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_BUILDING_QT_APPLE}")
|
||||||
elseif(BUILD_SHARED_LIBS)
|
elseif(BUILD_SHARED_LIBS)
|
||||||
set(supported_version "${QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_BUILDING_QT_SHARED}")
|
set(supported_version "${QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_BUILDING_QT_SHARED}")
|
||||||
else()
|
else()
|
||||||
@ -30,7 +32,9 @@ function(qt_internal_get_supported_min_cmake_version_for_using_qt out_var)
|
|||||||
"It should have been set by this point.")
|
"It should have been set by this point.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(BUILD_SHARED_LIBS)
|
if(APPLE)
|
||||||
|
set(supported_version "${QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_USING_QT_APPLE}")
|
||||||
|
elseif(BUILD_SHARED_LIBS)
|
||||||
set(supported_version "${QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_USING_QT_SHARED}")
|
set(supported_version "${QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_USING_QT_SHARED}")
|
||||||
else()
|
else()
|
||||||
set(supported_version "${QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_USING_QT_STATIC}")
|
set(supported_version "${QT_SUPPORTED_MIN_CMAKE_VERSION_FOR_USING_QT_STATIC}")
|
||||||
|
Loading…
Reference in New Issue
Block a user