summaryrefslogtreecommitdiffstats
path: root/Modules/Internal/CMakeCUDAFilterImplicitLibs.cmake
blob: 60287af5d08b46ad640effe94586180e857645d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.

# In CMakeDetermineCUDACompiler and CMakeTestCUDACompiler we detect
# libraries that the CUDA compiler implicitly passes to the host linker.
# CMake invokes the host linker directly and so needs to pass these libraries.
# Filter out implicit link libraries that should not be passed unconditionally.
macro(cmake_cuda_filter_implicit_libs _var_CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES)
  list(REMOVE_ITEM "${_var_CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES}"
    # The CUDA runtime libraries are controlled by CMAKE_CUDA_RUNTIME_LIBRARY.
    cudart        cudart.lib
    cudart_static cudart_static.lib
    cudadevrt     cudadevrt.lib

    # Dependencies of the CUDA static runtime library on Linux hosts.
    rt
    pthread
    dl
    )
endmacro()