summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@qt.io>2021-03-30 11:35:00 +1100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-04-12 04:47:24 +0000
commit5748c3ccb1e44947309e7246d8dc6c7e034abe9f (patch)
treebd08ee5ce99e5fc27b2b3704b9e7cc66ecbb5a34 /cmake
parent79a7137d0092bf56655b7737c80eafc2d6438578 (diff)
Warn if using CMake 3.20.0 due to potential cyclic dependencies
CMake 3.20.0 can create autogen-related cyclic dependencies that are only detected at build time by Ninja, which then fails with a build error. Warn and advise to use a different CMake version instead. Change-Id: I9bef973ad2efdb69f28d6a9e0584b543be59f17f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 6442116078500b0e7c401430b74bd40f32cfafb4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtCMakeVersionHelpers.cmake5
1 files changed, 5 insertions, 0 deletions
diff --git a/cmake/QtCMakeVersionHelpers.cmake b/cmake/QtCMakeVersionHelpers.cmake
index 955d9044cb..944060d15c 100644
--- a/cmake/QtCMakeVersionHelpers.cmake
+++ b/cmake/QtCMakeVersionHelpers.cmake
@@ -116,6 +116,11 @@ function(qt_internal_warn_about_unsuitable_cmake_versions)
# https://gitlab.kitware.com/cmake/cmake/-/issues/21163
list(APPEND unsuitable_versions "3.18.2")
+ # Cyclic dependencies are created when mixing AUTOMOC/AUTOUIC with sources
+ # that have their SKIP_MOC or SKIP_UIC source file properties set to true.
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/21977
+ list(APPEND unsuitable_versions "3.20.0")
+
foreach(unsuitable_version ${unsuitable_versions})
if(CMAKE_VERSION VERSION_EQUAL unsuitable_version)
message(WARNING