From 76b76a7f9bdf54c8dc299bd1a9c7bcc0bc9ef005 Mon Sep 17 00:00:00 2001 From: Hong Xu Date: Fri, 9 Aug 2019 16:37:51 -0700 Subject: FindCUDA: Fix support for backslashes in CUDA_NVCC_INCLUDE_DIRS Backslashes in `CUDA_NVCC_INCLUDE_DIRS` cause syntax errors because it is written to a generated `.cmake` script as a string literal. Use a bracket argument to hold the expanded value as we already do for `CUDA_NVCC_COMPILE_DEFINITIONS`. Then explicitly convert backslashes to forward slashes. --- Modules/FindCUDA/run_nvcc.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Modules/FindCUDA/run_nvcc.cmake b/Modules/FindCUDA/run_nvcc.cmake index 6fc2439..af15d55 100644 --- a/Modules/FindCUDA/run_nvcc.cmake +++ b/Modules/FindCUDA/run_nvcc.cmake @@ -75,7 +75,8 @@ 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@) # list -set(CUDA_NVCC_INCLUDE_DIRS "@CUDA_NVCC_INCLUDE_DIRS@") # list (needs to be in quotes to handle spaces properly). +set(CUDA_NVCC_INCLUDE_DIRS [==[@CUDA_NVCC_INCLUDE_DIRS@]==]) # list (needs to be in lua quotes to address backslashes) +string(REPLACE "\\" "/" CUDA_NVCC_INCLUDE_DIRS "${CUDA_NVCC_INCLUDE_DIRS}") set(CUDA_NVCC_COMPILE_DEFINITIONS [==[@CUDA_NVCC_COMPILE_DEFINITIONS@]==]) # list (needs to be in lua quotes see #16510 ). set(format_flag "@format_flag@") # string set(cuda_language_flag @cuda_language_flag@) # list -- cgit v0.12