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 leads to nvcc not being found with the Ninja generator, even though CUDA_PATH
is available.
This MR fixes the issue by adding a custom _CMAKE_${lang}_COMPILER_PATHS
which can be used to add compiler-specific search paths and is used as the last fall-back before failing.
To test this fix, configure any project using the CUDA language after setting up the vcpkg environment
vcpkg env --triplet=x64-windows
cd ...
cmake -GNinja ..
Note that specifying the triplet is necessary, since otherwise PATH
points to the x86 version of cl
, which causes the compiler ID step fail. This cost me quite a bit of time to figure out.
Fixes #21908 (closed)