首页 > 解决方案 > cuda&visual studio的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

标签: cmakecuda

解决方案


如果我看一下,CMakeDetermineCUDACompiler.cmake您可以通过以下方式选择特定的编译器enable_language(CUDA)

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

    > cmake -E env CUDACXX="<your CUDA path here>" cmake ..
    
  2. 只需设置全局变量CMAKE_CUDA_COMPILER

    > cmake -D CMAKE_CUDA_COMPILER:FILEPATH="<your CUDA path here>" ..
    

    或者在你CMakeLists.txt之前你project()或者enable_language() 打电话

    if (NOT CMAKE_CUDA_COMPILER)
        set(CMAKE_CUDA_COMPILER "${CMAKE_SOURCE_DIR}/<your CUDA relative path here>")
    endif()
    

推荐阅读