summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Bigler <jamesbigler@gmail.com>2011-12-06 00:16:05 (GMT)
committerJames Bigler <jamesbigler@gmail.com>2011-12-06 00:16:05 (GMT)
commitc3c7a0cfb84526693d33d7469719518aab91ff31 (patch)
treee318be71c8b8f969ce6e5c0f79c56b0124bdd950
parente0bc42aa4ff086e9c6976ab91ba924530df0bf72 (diff)
downloadCMake-c3c7a0cfb84526693d33d7469719518aab91ff31.zip
CMake-c3c7a0cfb84526693d33d7469719518aab91ff31.tar.gz
CMake-c3c7a0cfb84526693d33d7469719518aab91ff31.tar.bz2
Fixes for handling quotes in args and other places (Fix Bug 11726 and 12099).
-rw-r--r--Modules/FindCUDA.cmake12
-rw-r--r--Modules/FindCUDA/run_nvcc.cmake30
2 files changed, 21 insertions, 21 deletions
diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake
index d5ef430..df3b6be 100644
--- a/Modules/FindCUDA.cmake
+++ b/Modules/FindCUDA.cmake
@@ -707,7 +707,7 @@ find_package_handle_standard_args(CUDA
# Add include directories to pass to the nvcc command.
macro(CUDA_INCLUDE_DIRECTORIES)
foreach(dir ${ARGN})
- list(APPEND CUDA_NVCC_INCLUDE_ARGS_USER "-I${dir}")
+ list(APPEND CUDA_NVCC_INCLUDE_ARGS_USER -I${dir})
endforeach(dir ${ARGN})
endmacro(CUDA_INCLUDE_DIRECTORIES)
@@ -736,13 +736,13 @@ macro(CUDA_GET_SOURCES_AND_OPTIONS _sources _cmake_options _options)
arg STREQUAL "SHARED" OR
arg STREQUAL "MODULE"
)
- list(APPEND ${_cmake_options} "${arg}")
+ list(APPEND ${_cmake_options} ${arg})
else()
if ( _found_options )
- list(APPEND ${_options} "${arg}")
+ list(APPEND ${_options} ${arg})
else()
# Assume this is a file
- list(APPEND ${_sources} "${arg}")
+ list(APPEND ${_sources} ${arg})
endif()
endif()
endforeach()
@@ -890,7 +890,7 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
get_directory_property(CUDA_NVCC_INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES)
if(CUDA_NVCC_INCLUDE_DIRECTORIES)
foreach(dir ${CUDA_NVCC_INCLUDE_DIRECTORIES})
- list(APPEND CUDA_NVCC_INCLUDE_ARGS "-I${dir}")
+ list(APPEND CUDA_NVCC_INCLUDE_ARGS -I${dir})
endforeach()
endif()
@@ -956,7 +956,7 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
# Note that if we ever want CUDA_NVCC_FLAGS_<CONFIG> to be string (instead of a list
# like it is currently), we can remove the quotes around the
# ${CUDA_NVCC_FLAGS_${config_upper}} variable like the CMAKE_HOST_FLAGS_<CONFIG> variable.
- set(CUDA_NVCC_FLAGS_CONFIG "${CUDA_NVCC_FLAGS_CONFIG}\nset(CUDA_NVCC_FLAGS_${config_upper} \"${CUDA_NVCC_FLAGS_${config_upper}};;${CUDA_WRAP_OPTION_NVCC_FLAGS_${config_upper}}\")")
+ set(CUDA_NVCC_FLAGS_CONFIG "${CUDA_NVCC_FLAGS_CONFIG}\nset(CUDA_NVCC_FLAGS_${config_upper} ${CUDA_NVCC_FLAGS_${config_upper}} ;; ${CUDA_WRAP_OPTION_NVCC_FLAGS_${config_upper}})")
endforeach()
if(compile_to_ptx)
diff --git a/Modules/FindCUDA/run_nvcc.cmake b/Modules/FindCUDA/run_nvcc.cmake
index 7349da3..b31011c 100644
--- a/Modules/FindCUDA/run_nvcc.cmake
+++ b/Modules/FindCUDA/run_nvcc.cmake
@@ -55,25 +55,25 @@ if(NOT generated_file)
endif()
# Set these up as variables to make reading the generated file easier
-set(CMAKE_COMMAND "@CMAKE_COMMAND@")
-set(source_file "@source_file@")
-set(NVCC_generated_dependency_file "@NVCC_generated_dependency_file@")
-set(cmake_dependency_file "@cmake_dependency_file@")
-set(CUDA_make2cmake "@CUDA_make2cmake@")
-set(CUDA_parse_cubin "@CUDA_parse_cubin@")
-set(build_cubin @build_cubin@)
+set(CMAKE_COMMAND "@CMAKE_COMMAND@") # path
+set(source_file "@source_file@") # path
+set(NVCC_generated_dependency_file "@NVCC_generated_dependency_file@") # path
+set(cmake_dependency_file "@cmake_dependency_file@") # path
+set(CUDA_make2cmake "@CUDA_make2cmake@") # path
+set(CUDA_parse_cubin "@CUDA_parse_cubin@") # path
+set(build_cubin @build_cubin@) # bool
# We won't actually use these variables for now, but we need to set this, in
# order to force this file to be run again if it changes.
-set(generated_file_path "@generated_file_path@")
-set(generated_file_internal "@generated_file@")
-set(generated_cubin_file_internal "@generated_cubin_file@")
+set(generated_file_path "@generated_file_path@") # path
+set(generated_file_internal "@generated_file@") # path
+set(generated_cubin_file_internal "@generated_cubin_file@") # path
-set(CUDA_NVCC_EXECUTABLE "@CUDA_NVCC_EXECUTABLE@")
-set(CUDA_NVCC_FLAGS "@CUDA_NVCC_FLAGS@;;@CUDA_WRAP_OPTION_NVCC_FLAGS@")
+set(CUDA_NVCC_EXECUTABLE "@CUDA_NVCC_EXECUTABLE@") # path
+set(CUDA_NVCC_FLAGS @CUDA_NVCC_FLAGS@ ;; @CUDA_WRAP_OPTION_NVCC_FLAGS@) # list
@CUDA_NVCC_FLAGS_CONFIG@
-set(nvcc_flags "@nvcc_flags@")
-set(CUDA_NVCC_INCLUDE_ARGS "@CUDA_NVCC_INCLUDE_ARGS@")
-set(format_flag "@format_flag@")
+set(nvcc_flags @nvcc_flags@) # list
+set(CUDA_NVCC_INCLUDE_ARGS "@CUDA_NVCC_INCLUDE_ARGS@") # list (needs to be in quotes to handle spaces properly).
+set(format_flag "@format_flag@") # string
if(build_cubin AND NOT generated_cubin_file)
message(FATAL_ERROR "You must specify generated_cubin_file on the command line")