From ce3874b303a354c242e068497d6662fdcc390a85 Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Thu, 7 Dec 2017 11:31:03 -0500 Subject: CUDA: Shared libraries on Darwin properly setup @rpath install_names Shared libraries linked with CUDA now properly setup booth the correct install_name but also specify headerpad_max_install_names so that the names can be changed post build. --- Modules/Platform/Darwin-NVIDIA-CUDA.cmake | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Modules/Platform/Darwin-NVIDIA-CUDA.cmake diff --git a/Modules/Platform/Darwin-NVIDIA-CUDA.cmake b/Modules/Platform/Darwin-NVIDIA-CUDA.cmake new file mode 100644 index 0000000..bec3948 --- /dev/null +++ b/Modules/Platform/Darwin-NVIDIA-CUDA.cmake @@ -0,0 +1,19 @@ +include(Platform/Darwin) + +set(__IMPLICT_LINKS ) +foreach(dir ${CMAKE_CUDA_HOST_IMPLICIT_LINK_DIRECTORIES}) + string(APPEND __IMPLICT_LINKS " -L\"${dir}\"") +endforeach() +foreach(lib ${CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES}) + if(${lib} MATCHES "/") + string(APPEND __IMPLICT_LINKS " \"${lib}\"") + else() + string(APPEND __IMPLICT_LINKS " -l${lib}") + endif() +endforeach() + +set(CMAKE_SHARED_LIBRARY_CREATE_CUDA_FLAGS "-shared -Wl,-headerpad_max_install_names") +set(CMAKE_SHARED_MODULE_CREATE_CUDA_FLAGS "-shared -Wl,-headerpad_max_install_names") + +set(CMAKE_CUDA_CREATE_SHARED_LIBRARY " -o ${__IMPLICT_LINKS}") +set(CMAKE_CUDA_CREATE_SHARED_MODULE " -o ${__IMPLICT_LINKS}") -- cgit v0.12