В CMake версии 3.8 была представлена встроенная поддержка CUDA как языка. Если в проекте используется CUDA в качестве одного из языков, CMake продолжит поиск CUDA (например, он найдет двоичный файл nvcc).
Пока вы только компилируете код CUDA — этого достаточно. Но что, если вы хотите скомпилировать в этом проекте целевой объект C++? Включения CUDA не включаются автоматически с помощью -I, и CMakeCache.txt, по-видимому, нигде не содержит пути включения CUDA.
Действительно ли мне нужно запускать что-то find_package(CUDA 9.0 REQUIRED), даже если сам CMake уже обнаружил CUDA? Или - могу ли я получить каталог включения другим способом?
Изменить: После того, как был задан этот вопрос, CMake значительно изменился по сравнению с. Поддержка CUDA (и find_package(CUDA) теперь не рекомендуется или не поддерживается).
Подробнее здесь: https://stackoverflow.com/questions/517 ... port-cmake