From f5a4a16b415fa47f7ca2a87a97c7fc88ada85bb6 Mon Sep 17 00:00:00 2001 From: Kyle Edwards Date: Wed, 13 May 2026 11:49:48 -0400 Subject: [PATCH] Require CMake 4.0 Issue: https://github.com/rapidsai/build-planning/issues/277 --- c/CMakeLists.txt | 2 +- cmake/RAPIDS.cmake | 4 ++-- conda/environments/all_cuda-129_arch-aarch64.yaml | 2 +- conda/environments/all_cuda-129_arch-x86_64.yaml | 2 +- conda/environments/all_cuda-131_arch-aarch64.yaml | 2 +- conda/environments/all_cuda-131_arch-x86_64.yaml | 2 +- conda/environments/bench_ann_cuda-129_arch-aarch64.yaml | 2 +- conda/environments/bench_ann_cuda-129_arch-x86_64.yaml | 2 +- conda/environments/bench_ann_cuda-131_arch-aarch64.yaml | 2 +- conda/environments/bench_ann_cuda-131_arch-x86_64.yaml | 2 +- conda/environments/go_cuda-129_arch-aarch64.yaml | 2 +- conda/environments/go_cuda-129_arch-x86_64.yaml | 2 +- conda/environments/go_cuda-131_arch-aarch64.yaml | 2 +- conda/environments/go_cuda-131_arch-x86_64.yaml | 2 +- conda/environments/rust_cuda-129_arch-aarch64.yaml | 2 +- conda/environments/rust_cuda-129_arch-x86_64.yaml | 2 +- conda/environments/rust_cuda-131_arch-aarch64.yaml | 2 +- conda/environments/rust_cuda-131_arch-x86_64.yaml | 2 +- conda/recipes/cuvs-bench-cpu/conda_build_config.yaml | 2 +- conda/recipes/cuvs/conda_build_config.yaml | 2 +- conda/recipes/libcuvs/conda_build_config.yaml | 2 +- cpp/CMakeLists.txt | 2 +- dependencies.yaml | 2 +- examples/c/CMakeLists.txt | 2 +- examples/cpp/CMakeLists.txt | 2 +- java/docker-build/Dockerfile | 4 ++-- java/docker-build/README.md | 2 +- java/internal/CMakeLists.txt | 4 ++-- python/cuvs/CMakeLists.txt | 2 +- python/cuvs/pyproject.toml | 2 +- python/libcuvs/CMakeLists.txt | 2 +- python/libcuvs/pyproject.toml | 2 +- 32 files changed, 35 insertions(+), 35 deletions(-) diff --git a/c/CMakeLists.txt b/c/CMakeLists.txt index d7fb7bfd3a..c70c4fc12d 100644 --- a/c/CMakeLists.txt +++ b/c/CMakeLists.txt @@ -5,7 +5,7 @@ # cmake-format: on # ============================================================================= -cmake_minimum_required(VERSION 3.30.4 FATAL_ERROR) +cmake_minimum_required(VERSION 4.0 FATAL_ERROR) include(../cmake/rapids_config.cmake) include(rapids-cmake) include(rapids-cpm) diff --git a/cmake/RAPIDS.cmake b/cmake/RAPIDS.cmake index 5bbc8fcc3a..a3ad5e3f48 100644 --- a/cmake/RAPIDS.cmake +++ b/cmake/RAPIDS.cmake @@ -1,6 +1,6 @@ # ============================================================================= # cmake-format: off -# SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION. # SPDX-License-Identifier: Apache-2.0 # cmake-format: on # ============================================================================= @@ -8,7 +8,7 @@ # This is the preferred entry point for projects using rapids-cmake # # Enforce the minimum required CMake version for all users -cmake_minimum_required(VERSION 3.30.4 FATAL_ERROR) +cmake_minimum_required(VERSION 4.0 FATAL_ERROR) # Allow users to control which version is used if(NOT (rapids-cmake-branch OR rapids-cmake-version)) diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml index 0a473a210f..611b0eac27 100644 --- a/conda/environments/all_cuda-129_arch-aarch64.yaml +++ b/conda/environments/all_cuda-129_arch-aarch64.yaml @@ -10,7 +10,7 @@ dependencies: - c-compiler - clang-tools==20.1.8 - clang==20.1.8 -- cmake>=3.30.4 +- cmake>=4.0 - cuda-nvcc - cuda-nvrtc-dev - cuda-nvtx-dev diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml index 08e3c3f4e5..a832308dac 100644 --- a/conda/environments/all_cuda-129_arch-x86_64.yaml +++ b/conda/environments/all_cuda-129_arch-x86_64.yaml @@ -10,7 +10,7 @@ dependencies: - c-compiler - clang-tools==20.1.8 - clang==20.1.8 -- cmake>=3.30.4 +- cmake>=4.0 - cuda-nvcc - cuda-nvrtc-dev - cuda-nvtx-dev diff --git a/conda/environments/all_cuda-131_arch-aarch64.yaml b/conda/environments/all_cuda-131_arch-aarch64.yaml index 9fb879b06f..aaac2e0361 100644 --- a/conda/environments/all_cuda-131_arch-aarch64.yaml +++ b/conda/environments/all_cuda-131_arch-aarch64.yaml @@ -10,7 +10,7 @@ dependencies: - c-compiler - clang-tools==20.1.8 - clang==20.1.8 -- cmake>=3.30.4 +- cmake>=4.0 - cuda-nvcc - cuda-nvrtc-dev - cuda-nvtx-dev diff --git a/conda/environments/all_cuda-131_arch-x86_64.yaml b/conda/environments/all_cuda-131_arch-x86_64.yaml index 105e7a8d9c..d608b51960 100644 --- a/conda/environments/all_cuda-131_arch-x86_64.yaml +++ b/conda/environments/all_cuda-131_arch-x86_64.yaml @@ -10,7 +10,7 @@ dependencies: - c-compiler - clang-tools==20.1.8 - clang==20.1.8 -- cmake>=3.30.4 +- cmake>=4.0 - cuda-nvcc - cuda-nvrtc-dev - cuda-nvtx-dev diff --git a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml index 51deac967c..8a506bad0f 100644 --- a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml +++ b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml @@ -9,7 +9,7 @@ dependencies: - clang-tools==20.1.8 - clang==20.1.8 - click -- cmake>=3.30.4 +- cmake>=4.0 - cuda-nvcc - cuda-nvrtc-dev - cuda-nvtx-dev diff --git a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml index 79395437f7..73550dfcb7 100644 --- a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml +++ b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml @@ -9,7 +9,7 @@ dependencies: - clang-tools==20.1.8 - clang==20.1.8 - click -- cmake>=3.30.4 +- cmake>=4.0 - cuda-nvcc - cuda-nvrtc-dev - cuda-nvtx-dev diff --git a/conda/environments/bench_ann_cuda-131_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-131_arch-aarch64.yaml index 30d8ea86d4..92c14c1615 100644 --- a/conda/environments/bench_ann_cuda-131_arch-aarch64.yaml +++ b/conda/environments/bench_ann_cuda-131_arch-aarch64.yaml @@ -9,7 +9,7 @@ dependencies: - clang-tools==20.1.8 - clang==20.1.8 - click -- cmake>=3.30.4 +- cmake>=4.0 - cuda-nvcc - cuda-nvrtc-dev - cuda-nvtx-dev diff --git a/conda/environments/bench_ann_cuda-131_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-131_arch-x86_64.yaml index 8baba0b8e0..49f8415082 100644 --- a/conda/environments/bench_ann_cuda-131_arch-x86_64.yaml +++ b/conda/environments/bench_ann_cuda-131_arch-x86_64.yaml @@ -9,7 +9,7 @@ dependencies: - clang-tools==20.1.8 - clang==20.1.8 - click -- cmake>=3.30.4 +- cmake>=4.0 - cuda-nvcc - cuda-nvrtc-dev - cuda-nvtx-dev diff --git a/conda/environments/go_cuda-129_arch-aarch64.yaml b/conda/environments/go_cuda-129_arch-aarch64.yaml index e2d9bf6d0c..4907a9777e 100644 --- a/conda/environments/go_cuda-129_arch-aarch64.yaml +++ b/conda/environments/go_cuda-129_arch-aarch64.yaml @@ -9,7 +9,7 @@ dependencies: - c-compiler - clang-tools==20.1.8 - clang==20.1.8 -- cmake>=3.30.4 +- cmake>=4.0 - cuda-cudart-dev - cuda-nvcc - cuda-nvrtc-dev diff --git a/conda/environments/go_cuda-129_arch-x86_64.yaml b/conda/environments/go_cuda-129_arch-x86_64.yaml index 9966daaf6d..a787f5872a 100644 --- a/conda/environments/go_cuda-129_arch-x86_64.yaml +++ b/conda/environments/go_cuda-129_arch-x86_64.yaml @@ -9,7 +9,7 @@ dependencies: - c-compiler - clang-tools==20.1.8 - clang==20.1.8 -- cmake>=3.30.4 +- cmake>=4.0 - cuda-cudart-dev - cuda-nvcc - cuda-nvrtc-dev diff --git a/conda/environments/go_cuda-131_arch-aarch64.yaml b/conda/environments/go_cuda-131_arch-aarch64.yaml index 94ac02ea90..5a1cc7b538 100644 --- a/conda/environments/go_cuda-131_arch-aarch64.yaml +++ b/conda/environments/go_cuda-131_arch-aarch64.yaml @@ -9,7 +9,7 @@ dependencies: - c-compiler - clang-tools==20.1.8 - clang==20.1.8 -- cmake>=3.30.4 +- cmake>=4.0 - cuda-cudart-dev - cuda-nvcc - cuda-nvrtc-dev diff --git a/conda/environments/go_cuda-131_arch-x86_64.yaml b/conda/environments/go_cuda-131_arch-x86_64.yaml index 66e0a709da..1c9939b28b 100644 --- a/conda/environments/go_cuda-131_arch-x86_64.yaml +++ b/conda/environments/go_cuda-131_arch-x86_64.yaml @@ -9,7 +9,7 @@ dependencies: - c-compiler - clang-tools==20.1.8 - clang==20.1.8 -- cmake>=3.30.4 +- cmake>=4.0 - cuda-cudart-dev - cuda-nvcc - cuda-nvrtc-dev diff --git a/conda/environments/rust_cuda-129_arch-aarch64.yaml b/conda/environments/rust_cuda-129_arch-aarch64.yaml index bfe0ae7042..723982622d 100644 --- a/conda/environments/rust_cuda-129_arch-aarch64.yaml +++ b/conda/environments/rust_cuda-129_arch-aarch64.yaml @@ -6,7 +6,7 @@ channels: - conda-forge dependencies: - c-compiler -- cmake>=3.30.4 +- cmake>=4.0 - cuda-cudart-dev - cuda-nvcc - cuda-nvrtc-dev diff --git a/conda/environments/rust_cuda-129_arch-x86_64.yaml b/conda/environments/rust_cuda-129_arch-x86_64.yaml index 2b855e4e48..736faf96a0 100644 --- a/conda/environments/rust_cuda-129_arch-x86_64.yaml +++ b/conda/environments/rust_cuda-129_arch-x86_64.yaml @@ -6,7 +6,7 @@ channels: - conda-forge dependencies: - c-compiler -- cmake>=3.30.4 +- cmake>=4.0 - cuda-cudart-dev - cuda-nvcc - cuda-nvrtc-dev diff --git a/conda/environments/rust_cuda-131_arch-aarch64.yaml b/conda/environments/rust_cuda-131_arch-aarch64.yaml index 4c258478f7..280004659d 100644 --- a/conda/environments/rust_cuda-131_arch-aarch64.yaml +++ b/conda/environments/rust_cuda-131_arch-aarch64.yaml @@ -6,7 +6,7 @@ channels: - conda-forge dependencies: - c-compiler -- cmake>=3.30.4 +- cmake>=4.0 - cuda-cudart-dev - cuda-nvcc - cuda-nvrtc-dev diff --git a/conda/environments/rust_cuda-131_arch-x86_64.yaml b/conda/environments/rust_cuda-131_arch-x86_64.yaml index 99416484f6..84bb9a8071 100644 --- a/conda/environments/rust_cuda-131_arch-x86_64.yaml +++ b/conda/environments/rust_cuda-131_arch-x86_64.yaml @@ -6,7 +6,7 @@ channels: - conda-forge dependencies: - c-compiler -- cmake>=3.30.4 +- cmake>=4.0 - cuda-cudart-dev - cuda-nvcc - cuda-nvrtc-dev diff --git a/conda/recipes/cuvs-bench-cpu/conda_build_config.yaml b/conda/recipes/cuvs-bench-cpu/conda_build_config.yaml index 27c2215e56..c3ac12cf18 100644 --- a/conda/recipes/cuvs-bench-cpu/conda_build_config.yaml +++ b/conda/recipes/cuvs-bench-cpu/conda_build_config.yaml @@ -11,7 +11,7 @@ c_stdlib_version: - "2.28" cmake_version: - - ">=3.30.4" + - ">=4.0" glog_version: - ">=0.6.0" diff --git a/conda/recipes/cuvs/conda_build_config.yaml b/conda/recipes/cuvs/conda_build_config.yaml index 1082f0d214..f53c376049 100644 --- a/conda/recipes/cuvs/conda_build_config.yaml +++ b/conda/recipes/cuvs/conda_build_config.yaml @@ -14,4 +14,4 @@ c_stdlib_version: - "2.28" cmake_version: - - ">=3.30.4" + - ">=4.0" diff --git a/conda/recipes/libcuvs/conda_build_config.yaml b/conda/recipes/libcuvs/conda_build_config.yaml index 21989d9803..7ccd454830 100644 --- a/conda/recipes/libcuvs/conda_build_config.yaml +++ b/conda/recipes/libcuvs/conda_build_config.yaml @@ -14,7 +14,7 @@ c_stdlib_version: - "2.28" cmake_version: - - ">=3.30.4" + - ">=4.0" h5py_version: - ">=3.8.0" diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 36985938b6..47c82587c7 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -3,7 +3,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION. # SPDX-License-Identifier: Apache-2.0 # cmake-format: on -cmake_minimum_required(VERSION 3.30.4 FATAL_ERROR) +cmake_minimum_required(VERSION 4.0 FATAL_ERROR) include(../cmake/rapids_config.cmake) include(rapids-cmake) include(rapids-cpm) diff --git a/dependencies.yaml b/dependencies.yaml index 305942a31c..3b6b14b404 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -238,7 +238,7 @@ dependencies: common: - output_types: [conda, requirements, pyproject] packages: - - &cmake_ver cmake>=3.30.4 + - &cmake_ver cmake>=4.0 - ninja - output_types: [conda] packages: diff --git a/examples/c/CMakeLists.txt b/examples/c/CMakeLists.txt index 61092834c7..77ab7b5ea6 100644 --- a/examples/c/CMakeLists.txt +++ b/examples/c/CMakeLists.txt @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 # cmake-format: on -cmake_minimum_required(VERSION 3.30.4 FATAL_ERROR) +cmake_minimum_required(VERSION 4.0 FATAL_ERROR) # ------------- configure rapids-cmake --------------# diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt index 11c581f767..034b0b3d96 100644 --- a/examples/cpp/CMakeLists.txt +++ b/examples/cpp/CMakeLists.txt @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 # cmake-format: on -cmake_minimum_required(VERSION 3.30.4 FATAL_ERROR) +cmake_minimum_required(VERSION 4.0 FATAL_ERROR) # ------------- configure rapids-cmake --------------# diff --git a/java/docker-build/Dockerfile b/java/docker-build/Dockerfile index 2ddbc7a705..018a041930 100644 --- a/java/docker-build/Dockerfile +++ b/java/docker-build/Dockerfile @@ -1,5 +1,5 @@ # -# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # @@ -28,7 +28,7 @@ ARG DEV_BUILD=OFF # Dependency versions # Act as default GCC toolset in the image ARG TOOLSET_VERSION=14 -ARG CMAKE_VERSION=3.30.4 +ARG CMAKE_VERSION=4.0 ARG CCACHE_VERSION=4.11.2 # Default x86_64 from x86 build, aarch64 cmake for arm build diff --git a/java/docker-build/README.md b/java/docker-build/README.md index 63fadca6e2..7e1cc0a359 100644 --- a/java/docker-build/README.md +++ b/java/docker-build/README.md @@ -113,7 +113,7 @@ The Docker image is based on `nvidia/cuda:{CUDA_VERSION}-devel-rockylinux9` and - **CUDA Development Tools**: Complete CUDA toolkit for the specified version - **GCC Toolset 14**: Modern C++ compiler with C++20 support -- **CMake 3.30.4**: Build system generator +- **CMake 4.0**: Build system generator - **JDK 22**: Java Development Kit with Panama FFM support - **Maven**: Java project management and build tool - **ccache**: Compiler cache for faster incremental builds diff --git a/java/internal/CMakeLists.txt b/java/internal/CMakeLists.txt index 2f8f28afbb..658940fe16 100644 --- a/java/internal/CMakeLists.txt +++ b/java/internal/CMakeLists.txt @@ -1,11 +1,11 @@ # ============================================================================= # cmake-format: off -# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION. # SPDX-License-Identifier: Apache-2.0 # cmake-format: on # ============================================================================= -cmake_minimum_required(VERSION 3.30.4 FATAL_ERROR) +cmake_minimum_required(VERSION 4.0 FATAL_ERROR) include(../../cmake/rapids_config.cmake) include(rapids-cmake) diff --git a/python/cuvs/CMakeLists.txt b/python/cuvs/CMakeLists.txt index 87a46eb575..bb08d217dd 100644 --- a/python/cuvs/CMakeLists.txt +++ b/python/cuvs/CMakeLists.txt @@ -5,7 +5,7 @@ # cmake-format: on # ============================================================================= -cmake_minimum_required(VERSION 3.30.4 FATAL_ERROR) +cmake_minimum_required(VERSION 4.0 FATAL_ERROR) include(../../cmake/rapids_config.cmake) diff --git a/python/cuvs/pyproject.toml b/python/cuvs/pyproject.toml index 4f2ce2cbde..19d4bc71d6 100644 --- a/python/cuvs/pyproject.toml +++ b/python/cuvs/pyproject.toml @@ -106,7 +106,7 @@ regex = "(?P.*)" [tool.rapids-build-backend] requires = [ - "cmake>=3.30.4", + "cmake>=4.0", "cuda-python>=13.0.1,<14.0", "cython>=3.2.2", "libcuvs==26.6.*,>=0.0.0a0", diff --git a/python/libcuvs/CMakeLists.txt b/python/libcuvs/CMakeLists.txt index bac8373cf7..858d5e1cda 100644 --- a/python/libcuvs/CMakeLists.txt +++ b/python/libcuvs/CMakeLists.txt @@ -5,7 +5,7 @@ # cmake-format: on # ============================================================================= -cmake_minimum_required(VERSION 3.30.4 FATAL_ERROR) +cmake_minimum_required(VERSION 4.0 FATAL_ERROR) include(../../cmake/rapids_config.cmake) diff --git a/python/libcuvs/pyproject.toml b/python/libcuvs/pyproject.toml index 37814a5232..4beea175c5 100644 --- a/python/libcuvs/pyproject.toml +++ b/python/libcuvs/pyproject.toml @@ -80,7 +80,7 @@ regex = "(?P.*)" [tool.rapids-build-backend] build-backend = "scikit_build_core.build" requires = [ - "cmake>=3.30.4", + "cmake>=4.0", "libraft==26.6.*,>=0.0.0a0", "librmm==26.6.*,>=0.0.0a0", "ninja",