From 0d30e3fe91717f519722a71470a5180c13818a2a Mon Sep 17 00:00:00 2001 From: James Bigler Date: Wed, 12 May 2010 16:38:51 -0600 Subject: 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 6539057..2c2e9fd 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 -- cgit v0.12 From 1d5554201f725d3158e05c1a91ff09fab1633b26 Mon Sep 17 00:00:00 2001 From: James Bigler Date: Tue, 15 Jun 2010 10:03:40 -0600 Subject: CUDA_VERSION variable passed to REGEX needs quotes to work when not defined. --- Modules/FindCUDA.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake index 2c2e9fd..17da9e9 100644 --- a/Modules/FindCUDA.cmake +++ b/Modules/FindCUDA.cmake @@ -486,8 +486,8 @@ if(CUDA_NVCC_EXECUTABLE AND NOT CUDA_VERSION) 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}) + 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 -- cgit v0.12