diff options
author | Raul Tambre <raul@tambre.ee> | 2021-11-06 10:54:07 (GMT) |
---|---|---|
committer | Raul Tambre <raul@tambre.ee> | 2021-11-08 19:26:00 (GMT) |
commit | 4707ecbe6fed1e135785f9fe9734a4c66807dd77 (patch) | |
tree | 1519f6d6bec23dcd2518284d030876e2c073f582 /Modules/Compiler | |
parent | 15fde4c420e0fa469077fad020b9fdc071796f70 (diff) | |
download | CMake-4707ecbe6fed1e135785f9fe9734a4c66807dd77.zip CMake-4707ecbe6fed1e135785f9fe9734a4c66807dd77.tar.gz CMake-4707ecbe6fed1e135785f9fe9734a4c66807dd77.tar.bz2 |
CUDA: Support CMP0105 on Clang
Add link flags during the "device compile" step.
Enabled the relevant tests. The disable reasons regarding separable compilation
were outdated and the actual failure case was device link flags support.
Diffstat (limited to 'Modules/Compiler')
-rw-r--r-- | Modules/Compiler/Clang-CUDA.cmake | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Modules/Compiler/Clang-CUDA.cmake b/Modules/Compiler/Clang-CUDA.cmake index b105518..219897e 100644 --- a/Modules/Compiler/Clang-CUDA.cmake +++ b/Modules/Compiler/Clang-CUDA.cmake @@ -22,6 +22,10 @@ set(_CMAKE_CUDA_WHOLE_FLAG "-c") set(_CMAKE_CUDA_RDC_FLAG "-fgpu-rdc") set(_CMAKE_CUDA_PTX_FLAG "--cuda-device-only -S") +# Device linking is just regular linking so these are the same. +set(CMAKE_CUDA_DEVICE_LINKER_WRAPPER_FLAG ${CMAKE_CUDA_LINKER_WRAPPER_FLAG}) +set(CMAKE_CUDA_DEVICE_LINKER_WRAPPER_FLAG_SEP ${CMAKE_CUDA_LINKER_WRAPPER_FLAG_SEP}) + # RulePlaceholderExpander expands crosscompile variables like sysroot and target only for CMAKE_<LANG>_COMPILER. Override the default. set(CMAKE_CUDA_LINK_EXECUTABLE "<CMAKE_CUDA_COMPILER> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICIT_LINKS}") set(CMAKE_CUDA_CREATE_SHARED_LIBRARY "<CMAKE_CUDA_COMPILER> <CMAKE_SHARED_LIBRARY_CUDA_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CUDA_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>${__IMPLICIT_LINKS}") |