1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00

CUDA: Add support for finding nvcc in CUDA_PATH

Previously, nvcc needed to be present in PATH or specified by CUDACXX.
On Windows with vcpkg, the PATH is heavily modified, which lead to
nvcc not being found with the Ninja generator.
This commit is contained in:
Tobias Ribizel
2021-03-10 14:55:43 +01:00
parent 336c57edd0
commit 55233eee42
2 changed files with 12 additions and 0 deletions

View File

@@ -31,7 +31,9 @@ else()
set(CMAKE_CUDA_COMPILER_LIST nvcc)
endif()
set(_CMAKE_CUDA_COMPILER_PATHS "$ENV{CUDA_PATH}/bin")
_cmake_find_compiler(CUDA)
unset(_CMAKE_CUDA_COMPILER_PATHS)
else()
_cmake_find_compiler_path(CUDA)
endif()

View File

@@ -68,6 +68,16 @@ macro(_cmake_find_compiler lang)
)
endif()
find_program(CMAKE_${lang}_COMPILER NAMES ${CMAKE_${lang}_COMPILER_LIST} DOC "${lang} compiler")
if(_CMAKE_${lang}_COMPILER_PATHS)
# As a last fall-back, search in language-specific paths
find_program(CMAKE_${lang}_COMPILER
NAMES ${CMAKE_${lang}_COMPILER_LIST}
NAMES_PER_DIR
PATHS ${_CMAKE_${lang}_COMPILER_PATHS}
DOC "${lang} compiler"
NO_DEFAULT_PATH
)
endif()
if(CMAKE_${lang}_COMPILER_INIT AND NOT CMAKE_${lang}_COMPILER)
set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${CMAKE_${lang}_COMPILER_INIT}")
endif()