summaryrefslogtreecommitdiff
path: root/Modules/FindCUDA/make2cmake.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/FindCUDA/make2cmake.cmake')
-rw-r--r--Modules/FindCUDA/make2cmake.cmake25
1 files changed, 19 insertions, 6 deletions
diff --git a/Modules/FindCUDA/make2cmake.cmake b/Modules/FindCUDA/make2cmake.cmake
index 1b53d177d..7b5389ec5 100644
--- a/Modules/FindCUDA/make2cmake.cmake
+++ b/Modules/FindCUDA/make2cmake.cmake
@@ -35,14 +35,23 @@
# This converts a file written in makefile syntax into one that can be included
# by CMake.
+# Input variables
+#
+# verbose:BOOL=<> OFF: Be as quiet as possible (default)
+# ON : Extra output
+#
+# input_file:FILEPATH=<> Path to dependecy file in makefile format
+#
+# output_file:FILEPATH=<> Path to file with dependencies in CMake readable variable
+#
+
file(READ ${input_file} depend_text)
-if (${depend_text} MATCHES ".+")
+if (NOT "${depend_text}" STREQUAL "")
# message("FOUND DEPENDS")
- # Remember, four backslashes is escaped to one backslash in the string.
- string(REGEX REPLACE "\\\\ " " " depend_text ${depend_text})
+ string(REPLACE "\\ " " " depend_text ${depend_text})
# This works for the nvcc -M generated dependency files.
string(REGEX REPLACE "^.* : " "" depend_text ${depend_text})
@@ -63,12 +72,16 @@ if (${depend_text} MATCHES ".+")
if (EXISTS "/${file}")
set(file "/${file}")
else()
- message(WARNING " Removing non-existent dependency file: ${file}")
+ if(verbose)
+ message(WARNING " Removing non-existent dependency file: ${file}")
+ endif()
set(file "")
endif()
endif()
- if(NOT IS_DIRECTORY "${file}")
+ # Make sure we check to see if we have a file, before asking if it is not a directory.
+ # if(NOT IS_DIRECTORY "") will return TRUE.
+ if(file AND NOT IS_DIRECTORY "${file}")
# If softlinks start to matter, we should change this to REALPATH. For now we need
# to flatten paths, because nvcc can generate stuff like /bin/../include instead of
# just /include.
@@ -87,7 +100,7 @@ list(REMOVE_DUPLICATES dependency_list)
list(SORT dependency_list)
foreach(file ${dependency_list})
- set(cuda_nvcc_depend "${cuda_nvcc_depend} \"${file}\"\n")
+ string(APPEND cuda_nvcc_depend " \"${file}\"\n")
endforeach()
file(WRITE ${output_file} "# Generated by: make2cmake.cmake\nSET(CUDA_NVCC_DEPEND\n ${cuda_nvcc_depend})\n\n")