每个目标的CMake文件属性

时间:2019-11-14 17:08:44

标签: c++ cmake cuda

我之前问过:How to compile C++ as CUDA using CMake,这很有帮助。但后来意识到我有一个后续问题。

我要做的是使用不同的编译器将一个文件编译两次。例如:

cmake_minimum_required(VERSION 3.9)
project(cuda_test LANGUAGES CUDA CXX)

add_executable(cuda_test_host test.cpp)     # build with GCC for host

set_source_files_properties(test.cpp PROPERTIES LANGUAGE CUDA)
add_executable(cuda_test_cuda test.cpp)     # build with NVCC for CUDA

但是,当然set_source_files_properties不是特定于特定目标的,因此cuda_test_hostcuda_test_cuda最终都是由NVCC构建的。

我在StackOverflow上看到了类似的问题,建议在其中创建带有不同CMake文件的子目录,但我想尽可能避免这种情况。

0 个答案:

没有答案