diff options
author | Edward Z. Yang <ezyang@fb.com> | 2018-03-28 15:33:56 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-03-29 14:48:02 (GMT) |
commit | 23119366e9d4e56e13c1fdec9dbff5e8f8c55ee5 (patch) | |
tree | b7307001d4390f6b111be2c907b9c28d7a3b2eea /Modules | |
parent | 98f23da8dfe4d6bb90225de83476b6a958c3e284 (diff) | |
download | CMake-23119366e9d4e56e13c1fdec9dbff5e8f8c55ee5.zip CMake-23119366e9d4e56e13c1fdec9dbff5e8f8c55ee5.tar.gz CMake-23119366e9d4e56e13c1fdec9dbff5e8f8c55ee5.tar.bz2 |
FindCUDA: Make nvcc configurable via CUDA_NVCC_EXECUTABLE env var
This is useful if, for example, you want ccache to be used
for nvcc. With the current behavior, cmake always picks up
/usr/local/cuda/bin/nvcc, even if there is a ccache nvcc
stub in the PATH. Allowing for CUDA_NVCC_EXECUTABLE lets
us work around the problem.
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/FindCUDA.cmake | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake index 119fc13..6f6f349 100644 --- a/Modules/FindCUDA.cmake +++ b/Modules/FindCUDA.cmake @@ -733,16 +733,20 @@ endif() # CUDA_NVCC_EXECUTABLE -cuda_find_host_program(CUDA_NVCC_EXECUTABLE - NAMES nvcc - PATHS "${CUDA_TOOLKIT_ROOT_DIR}" - ENV CUDA_PATH - ENV CUDA_BIN_PATH - PATH_SUFFIXES bin bin64 - NO_DEFAULT_PATH - ) -# Search default search paths, after we search our own set of paths. -cuda_find_host_program(CUDA_NVCC_EXECUTABLE nvcc) +if(DEFINED ENV{CUDA_NVCC_EXECUTABLE}) + set(CUDA_NVCC_EXECUTABLE "$ENV{CUDA_NVCC_EXECUTABLE}" CACHE FILEPATH "The CUDA compiler") +else() + cuda_find_host_program(CUDA_NVCC_EXECUTABLE + NAMES nvcc + PATHS "${CUDA_TOOLKIT_ROOT_DIR}" + ENV CUDA_PATH + ENV CUDA_BIN_PATH + PATH_SUFFIXES bin bin64 + NO_DEFAULT_PATH + ) + # Search default search paths, after we search our own set of paths. + cuda_find_host_program(CUDA_NVCC_EXECUTABLE nvcc) +endif() mark_as_advanced(CUDA_NVCC_EXECUTABLE) if(CUDA_NVCC_EXECUTABLE AND NOT CUDA_VERSION) |