From 5748c3ccb1e44947309e7246d8dc6c7e034abe9f Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Tue, 30 Mar 2021 11:35:00 +1100 Subject: [PATCH] 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 (cherry picked from commit 6442116078500b0e7c401430b74bd40f32cfafb4) Reviewed-by: Qt Cherry-pick Bot --- cmake/QtCMakeVersionHelpers.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/QtCMakeVersionHelpers.cmake b/cmake/QtCMakeVersionHelpers.cmake index 955d9044cb2..944060d15c7 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