Skip to content

Commit 97f5413

Browse files
Copilotnjzjz
andcommitted
feat: bump CMake minimum version to 3.25
Update CMake minimum required version from 3.16 to 3.25 to support RUN_OUTPUT_STDOUT_VARIABLE used in Findtensorflow.cmake. Changes: - Updated source/CMakeLists.txt main requirement - Updated backend/read_env.py for all variants (cpu, cuda, rocm) - Updated documentation in doc/install/install-from-source.md - Updated GPU-specific CMakeLists.txt files - Updated test CMakeLists.txt files - Updated example CMakeLists.txt file Fixes issue where RUN_OUTPUT_STDOUT_VARIABLE (new in CMake 3.25) was being used while minimum version was set to 3.16. Co-authored-by: njzjz <9496702+njzjz@users.noreply.github.com>
1 parent 29397da commit 97f5413

File tree

9 files changed

+17
-16
lines changed

9 files changed

+17
-16
lines changed

backend/read_env.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ def get_argument_from_env() -> tuple[str, list, list, dict, str, str]:
4646
# get variant option from the environment variables, available: cpu, cuda, rocm
4747
dp_variant = os.environ.get("DP_VARIANT", "cpu").lower()
4848
if dp_variant == "cpu" or dp_variant == "":
49-
cmake_minimum_required_version = "3.16"
49+
cmake_minimum_required_version = "3.25"
5050
elif dp_variant == "cuda":
51-
cmake_minimum_required_version = "3.23"
51+
cmake_minimum_required_version = "3.25"
5252
cmake_args.append("-DUSE_CUDA_TOOLKIT:BOOL=TRUE")
5353
cuda_root = os.environ.get("CUDAToolkit_ROOT")
5454
if cuda_root:
5555
cmake_args.append(f"-DCUDAToolkit_ROOT:STRING={cuda_root}")
5656
elif dp_variant == "rocm":
57-
cmake_minimum_required_version = "3.21"
57+
cmake_minimum_required_version = "3.25"
5858
cmake_args.append("-DUSE_ROCM_TOOLKIT:BOOL=TRUE")
5959
rocm_root = os.environ.get("ROCM_ROOT")
6060
if not rocm_root:

doc/install/install-from-source.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ mkdir build
377377
cd build
378378
```
379379

380-
The installation requires CMake 3.16 or later for the CPU version, CMake 3.23 or later for the CUDA support, and CMake 3.21 or later for the ROCM support. One can install CMake via `pip` if it is not installed or the installed version does not satisfy the requirement:
380+
The installation requires CMake 3.25 or later for all platforms (CPU, CUDA, and ROCM). One can install CMake via `pip` if it is not installed or the installed version does not satisfy the requirement:
381381

382382
```sh
383383
pip install -U cmake

examples/infer_water/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.7)
1+
cmake_minimum_required(VERSION 3.25)
22
project(infer_water)
33

44
# find DeePMD-kit

source/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# new in 3.16: GET_RUNTIME_DEPENDENCIES, target_precompile_headers
2-
cmake_minimum_required(VERSION 3.16)
1+
# new in 3.25: RUN_OUTPUT_STDOUT_VARIABLE
2+
cmake_minimum_required(VERSION 3.25)
33
project(DeePMD)
44

55
option(ENABLE_TENSORFLOW "Enable TensorFlow interface" OFF)
@@ -244,7 +244,7 @@ set(DP_VARIANT "cpu")
244244

245245
# define USE_CUDA_TOOLKIT
246246
if(USE_CUDA_TOOLKIT)
247-
cmake_minimum_required(VERSION 3.23)
247+
cmake_minimum_required(VERSION 3.25)
248248
find_package(CUDAToolkit REQUIRED)
249249
if(NOT DEFINED CMAKE_CUDA_COMPILER)
250250
set(CMAKE_CUDA_COMPILER ${CUDAToolkit_NVCC_EXECUTABLE})
@@ -261,7 +261,7 @@ endif(USE_CUDA_TOOLKIT)
261261

262262
# define USE_ROCM_TOOLKIT
263263
if(USE_ROCM_TOOLKIT)
264-
cmake_minimum_required(VERSION 3.21)
264+
cmake_minimum_required(VERSION 3.25)
265265
include(CMakeDetermineHIPCompiler)
266266
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_HIP_COMPILER_ROCM_ROOT})
267267
find_package(hip REQUIRED)

source/api_c/tests/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.9)
1+
cmake_minimum_required(VERSION 3.25)
22
project(deepmd_api_c_test)
33

44
file(GLOB TEST_SRC test_*.cc)

source/api_cc/tests/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.9)
1+
cmake_minimum_required(VERSION 3.25)
22
project(deepmd_api_test)
33

44
file(GLOB TEST_SRC test_*.cc)

source/lib/src/gpu/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
if(USE_CUDA_TOOLKIT)
2-
# required cmake version 3.23: CMAKE_CUDA_ARCHITECTURES all
3-
cmake_minimum_required(VERSION 3.23)
2+
# required cmake version 3.25: CMAKE_CUDA_ARCHITECTURES all,
3+
# RUN_OUTPUT_STDOUT_VARIABLE
4+
cmake_minimum_required(VERSION 3.25)
45
# project name
56
project(deepmd_op_cuda)
67
set(GPU_LIB_NAME deepmd_op_cuda)
@@ -54,7 +55,7 @@ if(USE_CUDA_TOOLKIT)
5455
elseif(USE_ROCM_TOOLKIT)
5556

5657
# required cmake version
57-
cmake_minimum_required(VERSION 3.21)
58+
cmake_minimum_required(VERSION 3.25)
5859
# project name
5960
project(deepmd_op_rocm)
6061
enable_language(HIP)

source/lib/tests/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.9)
1+
cmake_minimum_required(VERSION 3.25)
22
project(libdeepmd_test)
33

44
file(GLOB TEST_SRC test_*.cc)

source/lmp/plugin/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ if(DEFINED LAMMPS_SOURCE_ROOT OR DEFINED LAMMPS_VERSION)
22
message(STATUS "enable LAMMPS plugin mode")
33
add_library(lammps_interface INTERFACE)
44
if(DEFINED LAMMPS_VERSION)
5-
cmake_minimum_required(VERSION 3.14)
5+
cmake_minimum_required(VERSION 3.25)
66
include(FetchContent)
77
FetchContent_Declare(
88
lammps_download

0 commit comments

Comments
 (0)