如果已经设置,则在CMake中更改标志值

时间:2017-11-30 10:17:22

标签: c++ cmake cuda

在2013年之后的Visual Studio中,CUDA项目不会使用-m32(32位)选项构建。因此我尝试将-m64标志添加到NVCC标志中,如下所示:

find_package(CUDA)
...
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -m64")
...

但这会导致错误

nvcc fatal   : redefinition of argument 'machine' // machine refers to -m

在详细构建上,NVCC确实使用-m32和-m64标志,这会导致此错误。如何修改/删除CUDA_NVCC_FLAGS变量中现有的-m32标志?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下内容:

string(REPLACE -m32 -m64 CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS}")

string(REPLACE)