如上所述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()