From 0bacec18117fc766a47c7d46832de44c3eb2c105 Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Wed, 16 Sep 2026 15:42:54 +0200 Subject: [PATCH 1/3] [cmake] raise warning about soon-obsolete CMake versions as LLVM already does in master branch --- CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0fc17c5bec93e..395969a09e7b0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,18 @@ # For the list of contributors see $ROOTSYS/README/CREDITS. cmake_minimum_required(VERSION 3.20 FATAL_ERROR) +if("${CMAKE_VERSION}" VERSION_LESS "3.23.0") + message(WARNING + "Your CMake version is ${CMAKE_VERSION}. Starting with ROOT 6.44, the " + "minimum version of CMake required to build ROOT will become 3.23.0, and " + "using an older CMake will raise an error. After ROOT 6.44, the CMake version " + "is expected to rise to 3.31.0 in sync with LLVM 24.") +elseif("${CMAKE_VERSION}" VERSION_LESS "3.31.0") + message(WARNING + "Your CMake version is ${CMAKE_VERSION}. After ROOT 6.44, the " + "minimum version of CMake required to build ROOT will become 3.31.0, and " + "using an older CMake will raise an error, in sync with LLVM 24.") +endif() if(WIN32) # Set CMP0091 (MSVC runtime library flags are selected by an abstraction) to OLD From 21d095479ffb3f675e8553f37ea18ed299790c88 Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Wed, 16 Sep 2026 15:45:19 +0200 Subject: [PATCH 2/3] [nfc] mention cmake schedule in RelNotes --- README/ReleaseNotes/v642/index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README/ReleaseNotes/v642/index.md b/README/ReleaseNotes/v642/index.md index 61c80c9c5b822..a64bc1907176c 100644 --- a/README/ReleaseNotes/v642/index.md +++ b/README/ReleaseNotes/v642/index.md @@ -86,6 +86,11 @@ The `TMVA_SOFIE_GNN` tutorials have been migrated to this workflow and produce i ## Build System +### CMake version + +CMake versions below 3.31 will emit a warning during configure, since they will become obsolete soon: 3.23 will be minimum required in ROOT 6.44 and 3.31 after ROOT 6.44. + + ### Optimization of ROOT header files In ROOT 6.22, many (but not all) unused includes were removed from ROOT header files. The remaining unused includes will be removed after ROOT 6.44. From ed1882441394b6b47af4bf173f1c5c9854d9d558 Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Wed, 16 Sep 2026 19:04:39 +0200 Subject: [PATCH 3/3] [RN] add link to LLVM cmake version discussion --- README/ReleaseNotes/v642/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README/ReleaseNotes/v642/index.md b/README/ReleaseNotes/v642/index.md index a64bc1907176c..96398df2ae8c4 100644 --- a/README/ReleaseNotes/v642/index.md +++ b/README/ReleaseNotes/v642/index.md @@ -88,7 +88,7 @@ The `TMVA_SOFIE_GNN` tutorials have been migrated to this workflow and produce i ### CMake version -CMake versions below 3.31 will emit a warning during configure, since they will become obsolete soon: 3.23 will be minimum required in ROOT 6.44 and 3.31 after ROOT 6.44. +CMake versions below 3.31 will emit a warning during configure, since they will become obsolete soon: 3.23 will be minimum required in ROOT 6.44 and 3.31 after ROOT 6.44, to gradually stay in sync with the [minimum version of CMake required by LLVM](https://discourse.llvm.org/t/rfc-raising-minimum-required-cmake-version-to-3-31/91086). ### Optimization of ROOT header files