如何使用 CMake 3.15 检查 NVCC 版本?

How to check the NVCC version with CMake 3.15?

如何使用 CMake 3.15(不是 3.17 或更高版本)检查 NVCC 的版本?

我想我可以用 --version 为 运行 编写自己的模块,但是有更简单的方法吗?

在启用了 CUDA 语言支持的 CMake 3.15 中,定义了 CMAKE_CUDA_COMPILER_VERSION 变量并包含正确的版本。 MRE:

cmake_minimum_required(VERSION 3.15)
project(test LANGUAGES CUDA)

message(STATUS "CMAKE_CUDA_COMPILER = ${CMAKE_CUDA_COMPILER}")
message(STATUS "CMAKE_CUDA_COMPILER_ID = ${CMAKE_CUDA_COMPILER_ID}")
message(STATUS "CMAKE_CUDA_COMPILER_VERSION = ${CMAKE_CUDA_COMPILER_VERSION}")

输出:

$ cmake-3.15 -S . -B build
-- The CUDA compiler identification is NVIDIA 10.1.243
-- Check for working CUDA compiler: /usr/bin/nvcc
-- Check for working CUDA compiler: /usr/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- CMAKE_CUDA_COMPILER = /usr/bin/nvcc
-- CMAKE_CUDA_COMPILER_ID = NVIDIA
-- CMAKE_CUDA_COMPILER_VERSION = 10.1.243
-- Configuring done
-- Generating done
-- Build files have been written to: /home/alex/test/build

我安装了各种版本的 CMake 作为 cmake-3.XX,我想你会简单地 运行 cmake.