Просмотр исходного кода

Fixed: CUDA_VERSION_MAJOR/MINOR now computed after first run.

CUDA_VERSION_MAJOR and CUDA_VERSION_MINOR were only computed when CUDA_VERSION was first
computed.  Subsequent runs of FindCUDA would not have CUDA_VERSION_MAJOR/MINOR set.  We
now extract the major and minor versions from the CUDA_VERSION cache variable every run.
James Bigler 15 лет назад
Родитель
Сommit
0d30e3fe91
1 измененных файлов с 4 добавлено и 0 удалено
  1. 4 0
      Modules/FindCUDA.cmake

+ 4 - 0
Modules/FindCUDA.cmake

@@ -484,6 +484,10 @@ if(CUDA_NVCC_EXECUTABLE AND NOT CUDA_VERSION)
   string(REGEX REPLACE ".*release ([0-9]+)\\.([0-9]+).*" "\\2" CUDA_VERSION_MINOR ${NVCC_OUT})
   set(CUDA_VERSION "${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}" CACHE STRING "Version of CUDA as computed from nvcc.")
   mark_as_advanced(CUDA_VERSION)
+else()
+  # Need to set these based off of the cached value
+  string(REGEX REPLACE "([0-9]+)\\.([0-9]+).*" "\\1" CUDA_VERSION_MAJOR ${CUDA_VERSION})
+  string(REGEX REPLACE "([0-9]+)\\.([0-9]+).*" "\\2" CUDA_VERSION_MINOR ${CUDA_VERSION})
 endif()
 
 # Always set this convenience variable