具有Visual Studio和cmake的CUDA用于特定项目

时间:2018-11-11 11:46:27

标签: c++ visual-studio cmake cuda

我想知道如何使用 CMake 3.13 用两个项目生成 Visual Studio 解决方案( vs 15 2017 Win64 )。其中一个项目(例如“ CUDA_Project”)是启用了CUDA语言支持的C ++项目,在项目属性页(即CUDA C / C ++和CUDA Linker)中也具有相关的CUDA属性。这是一个看起来像这样的示例:CUDA properties present

而另一个项目(例如“ CXX_Project”)是一个C ++项目,没有CUDA语言支持,并且在其项目属性页中没有任何CUDA相关属性。以下是示例代码的示例:CUDA properties missing

我如何实现该项目的分离?


我当前的简单测试设置如下所示。 “ src”是一个包含两个文件夹的根目录:“ CUDA_Project”和“ CXX_Project”。 “ src”目录还包含CMakeLists.txt文件,该文件具有以下内容:

cmake_minimum_required(VERSION 3.13)
project(CMakeTest)

add_subdirectory(CUDA_Project)
add_subdirectory(CXX_Project)

子目录“ CUDA_Project”包含一个空的* .cpp文件“ CUDA_Empty.cpp”和一个CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.13)
project(CUDA_Project LANGUAGES CXX CUDA)

add_library(CUDA_Project SHARED CUDA_Empty.cpp)

子目录“ CXX_Project”包含一个空的* .cpp文件“ CXX_Empty.cpp”和一个CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.13)
project(CXX_Project LANGUAGES CXX)

add_library(CXX_Project SHARED CXX_Empty.cpp)

在“ src”目录上运行cmake会产生一个解决方案,如下图所示:produced solution

问题是,两个项目都启用了CUDA语言支持,两个项目的项目属性页中都列出了CUDA属性,如CUDA properties present所示,这不是期望的效果,就像我想的那样就像只有“ CUDA_Project”一样,在其项目属性页中列出了CUDA属性。

0 个答案:

没有答案