From 0d30e3fe91717f519722a71470a5180c13818a2a Mon Sep 17 00:00:00 2001 From: James Bigler Date: Wed, 12 May 2010 16:38:51 -0600 Subject: [PATCH] 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. --- Modules/FindCUDA.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake index 6539057ba..2c2e9fd18 100644 --- a/Modules/FindCUDA.cmake +++ b/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