如何设置自定义 CUDA 目录enable_language(CUDA)?
从 cmake 版本 3.8~ 开始,我可以使用enable_language(CUDA)命令。
在我的自定义 cmake 文件中,我设置CUDA_TOOLKIT_ROOT_DIR与 cuda 自定义目录相同(不是默认目录)。
但是当enable_language(CUDA)命令被调用时,cmake 默认模块会尝试在默认目录(c:\progrmafiles 中的某处)中找到 CUDA。
我不想让我的队友单独安装 CUDA 工具包。
所以我想在自定义目录中包含使用 CUDA 所需的所有组件和工具。
我怎样才能完成它?
目标环境信息
OS windows 7 x64 (only)
IDE visual studio 2013
cmake version 3.11.4
CUDA version 9.2
Run Code Online (Sandbox Code Playgroud)
如果我看一下,CMakeDetermineCUDACompiler.cmake您可以为enable_language(CUDA)via选择特定的编译器:
环境变量CUDACXX(对于非“Visual Studio”环境)
> cmake -E env CUDACXX="<your CUDA path here>" cmake ..
Run Code Online (Sandbox Code Playgroud)只需设置全局变量 CMAKE_CUDA_COMPILER
> cmake -D CMAKE_CUDA_COMPILER:FILEPATH="<your CUDA path here>" ..
Run Code Online (Sandbox Code Playgroud)
或在您CMakeLists.txt之前您project()或enable_language()
致电
if (NOT CMAKE_CUDA_COMPILER)
set(CMAKE_CUDA_COMPILER "${CMAKE_SOURCE_DIR}/<your CUDA relative path here>")
endif()
Run Code Online (Sandbox Code Playgroud)