diff options
author | James Bigler <jamesbigler@gmail.com> | 2014-05-18 06:26:26 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-05-19 13:14:15 (GMT) |
commit | 6ad14c71bb9b791fc4496a4d6a3fcd6dd9bf3f1c (patch) | |
tree | 5f3678e20a3977d209dfa163ac73005a5e9663a3 /Modules/FindCUDA.cmake | |
parent | b3ebb8f4344d4a3665d7be45a34773fecb94c67f (diff) | |
download | CMake-6ad14c71bb9b791fc4496a4d6a3fcd6dd9bf3f1c.zip CMake-6ad14c71bb9b791fc4496a4d6a3fcd6dd9bf3f1c.tar.gz CMake-6ad14c71bb9b791fc4496a4d6a3fcd6dd9bf3f1c.tar.bz2 |
FindCUDA: Use CUDA_NVCC_FLAGS* for separable compilation
Previously when linking the intermediate link file for separable compilation
the CUDA_NVCC_FLAGS* were not used. This caused tremendous confusion when
using this feature, and I consider it to be a bug. This change should fix
this.
Diffstat (limited to 'Modules/FindCUDA.cmake')
-rw-r--r-- | Modules/FindCUDA.cmake | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake index 7bc8d49..d50e960 100644 --- a/Modules/FindCUDA.cmake +++ b/Modules/FindCUDA.cmake @@ -1418,15 +1418,24 @@ function(CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS output_file cuda_target options if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 ) list(APPEND nvcc_flags -ccbin "\"${CUDA_HOST_COMPILER}\"") endif() + # Create a list of flags specified by CUDA_NVCC_FLAGS_${CONFIG} + set(config_specific_flags) set(flags) foreach(config ${CUDA_configuration_types}) string(TOUPPER ${config} config_upper) + # Add config specific flags + foreach(f ${CUDA_NVCC_FLAGS_${config_upper}}) + list(APPEND config_specific_flags $<$<CONFIG:${config}>:${f}>) + endforeach() set(important_host_flags) _cuda_get_important_host_flags(important_host_flags ${CMAKE_${CUDA_C_OR_CXX}_FLAGS_${config_upper}}) foreach(f ${important_host_flags}) list(APPEND flags $<$<CONFIG:${config}>:-Xcompiler> $<$<CONFIG:${config}>:${f}>) endforeach() endforeach() + # Add our general CUDA_NVCC_FLAGS with the configuration specifig flags + set(nvcc_flags ${CUDA_NVCC_FLAGS} ${config_specific_flags} ${nvcc_flags}) + file(RELATIVE_PATH output_file_relative_path "${CMAKE_BINARY_DIR}" "${output_file}") # Some generators don't handle the multiple levels of custom command |