У меня есть проект, включающий как код C ++, так и код CUDA, в частности - двоичные файлы, объекты которых берутся только из кода C ++ (компилятор с обычным компилятором C ++), и двоичные файлы, объекты которых берутся только из кода CUDA (то есть файлов .cu
) составлено с nvcc
).
Дело в том, что цели, созданные C ++, все еще выполняют некоторые вызовы API CUDA и, таким образом, зависят от библиотек CUDA.
Теперь, чтобы связать бинарные файлы, созданные в CUDA, мне не нужно упоминать библиотеки CUDA; он хорошо связывается, но для библиотек, созданных на C ++, они мне нужны.
Как я могу сказать cmake link_libraries
только для моих целей, созданных на C ++?
Или - я думаю об этой проблеме неправильно?
Примечание: я использую CMake> = 3.8 с собственной поддержкой CUDA, поэтому я не использую команды с префиксом cuda_
.