CMake检查是否存在不带find_package的CUDA环境



如上所述https://cmake.org/cmake/help/latest/module/FindCUDA.html

find_package(CUDA)

是CXX项目中不推荐使用的CUDA方式。我们必须使用

project(MY_PROJECT LANGUAGES CUDA CXX)

但是我如何检测当前平台是否支持CUDA。目标是在未安装CUDA的情况下将某些目标从生成中排除。

刚刚找到了一个解决方案,这要归功于发布在该问题上的评论,该问题引用了Stack Overflow的答案,以及这篇文档。

下面是一个代码片段:

cmake_minimum_required(VERSION 3.8)
include(CheckLanguage)
project(my_project)
check_language(CUDA)
if (CMAKE_CUDA_COMPILER)
message(STATUS "CUDA is OK")
else()
message(STATUS "No CUDA")
endif()

最新更新