cmake - 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
解决方案
如果我看一下,CMakeDetermineCUDACompiler.cmake
您可以通过以下方式选择特定的编译器enable_language(CUDA)
:
环境变量
CUDACXX
(对于非“Visual Studio”环境)> cmake -E env CUDACXX="<your CUDA path here>" cmake ..
只需设置全局变量
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()
推荐阅读
- postgresql - 如何在 PostgreSQL 中动态创建单调递增序列?
- c# - 如何编写事件处理程序以在检查器中设置侦听器?
- javascript - 单击两个表格单元格突出显示它们的内容并将它们的值存储在变量中
- r - 如果每次修改一个元素时整个向量都会被复制和移动,我如何有效地填充向量
- python - 将numpy数组强制为相同的维度
- c++ - 如何为模板类添加运算符<<?
- java - 检查 ArrayList 中的所有单词是否都在字符串数组中并按顺序排列?
- node.js - 快速会话用户名更改与最新会话加入
- pip - 让 pipenv 在应用程序工作的 Virtualenv 中工作
- docker - Docker compose 不会为链接服务设置公开端口 80