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
This commit is contained in:
James Bigler 2015-04-16 10:27:23 -06:00 committed by Brad King
parent 53ef9a0a9e
commit 0ed22502a6
1 changed files with 2 additions and 0 deletions

View File

@ -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()