From 0ed22502a6057f989bc7855a5a69e5171e013048 Mon Sep 17 00:00:00 2001 From: James Bigler Date: Thu, 16 Apr 2015 10:27:23 -0600 Subject: FindCUDA: Create output dir while compiling intermediate link file (#15016) During compilation of the intermediate link file, the output directory may not be present in Visual Studio builds. This fix makes sure the output directory exists before generating the output file. Suggested-by: Irwin Zaid --- Modules/FindCUDA.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake index 1802e61..e8e1fb1 100644 --- a/Modules/FindCUDA.cmake +++ b/Modules/FindCUDA.cmake @@ -1585,10 +1585,12 @@ function(CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS output_file cuda_target options COMMENT "Building NVCC intermediate link file ${output_file_relative_path}" ) else() + get_filename_component(output_file_dir "${output_file}" DIRECTORY) add_custom_command( TARGET ${cuda_target} PRE_LINK COMMAND ${CMAKE_COMMAND} -E echo "Building NVCC intermediate link file ${output_file_relative_path}" + COMMAND ${CMAKE_COMMAND} -E make_directory "${output_file_dir}" COMMAND ${CUDA_NVCC_EXECUTABLE} ${nvcc_flags} ${flags} -dlink ${object_files} -o "${output_file}" ) endif() -- cgit v0.12