cuda&visual studio 的 cmake 设置

ecl*_*922 1 cuda cmake

如何设置自定义 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)

Flo*_*ian 5

如果我看一下,CMakeDetermineCUDACompiler.cmake您可以为enable_language(CUDA)via选择特定的编译器:

  1. 环境变量CUDACXX(对于非“Visual Studio”环境)

    > cmake -E env CUDACXX="<your CUDA path here>" cmake ..
    
    Run Code Online (Sandbox Code Playgroud)
  2. 只需设置全局变量 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)