diff --git a/cmake/FindCUDA.cmake b/cmake/FindCUDA.cmake index 678b450ab..c2a58bd00 100644 --- a/cmake/FindCUDA.cmake +++ b/cmake/FindCUDA.cmake @@ -283,7 +283,38 @@ # CUDA_nppc_LIBRARY -- NVIDIA Performance Primitives lib (core). # Only available for CUDA version 5.5+. # CUDA_nppi_LIBRARY -- NVIDIA Performance Primitives lib (image processing). -# Only available for CUDA version 5.5+. +# Only available for CUDA version 5.5+ and was split up +# in CUDA version 8.0+ and doesn't exist in combined +# form in CUDA version 9.0+. +# CUDA_nppial_LIBRARY -- NVIDIA Performance Primatives library (arithmetic and +# logical operation functions). Only available for CUDA +# version 8.0+. +# CUDA_nppicc_LIBRARY -- NVIDIA Performance Primatives library (color conversion +# and sampling functions). Only available for CUDA version +# 8.0+. +# CUDA_nppicom_LIBRARY -- NVIDIA Performance Primatives library (JPEG compression +# and decompression functions). Only available for CUDA +# version 8.0+. +# CUDA_nppidei_LIBRARY -- NVIDIA Performance Primatives library (data exchange and +# initialization functions). Only available for CUDA +# version 8.0+. +# CUDA_nppif_LIBRARY -- NVIDIA Performance Primatives library (filtering and +# computer vision functions). Only available for CUDA +# version 8.0+. +# CUDA_nppig_LIBRARY -- NVIDIA Performance Primatives library (geometry +# transformation functions). Only available for CUDA +# version 8.0+. +# CUDA_nppim_LIBRARY -- NVIDIA Performance Primatives library (morphological +# operation functions). Only available for CUDA version +# 8.0+. +# CUDA_nppist_LIBRARY -- NVIDIA Performance Primatives library (statistics and +# linear transform). Only available for CUDA version +# 8.0+. +# CUDA_nppisu_LIBRARY -- NVIDIA Performance Primatives library (memory support +# functions). Only available for CUDA version 8.0+. +# CUDA_nppitc_LIBRARY -- NVIDIA Performance Primatives library (threshold and +# compare operation functions). Only available for CUDA +# version 8.0+. # CUDA_npps_LIBRARY -- NVIDIA Performance Primitives lib (signal processing). # Only available for CUDA version 5.5+. # CUDA_nvcuvenc_LIBRARY -- CUDA Video Encoder library. @@ -522,6 +553,16 @@ macro(cuda_unset_include_and_libraries) unset(CUDA_npp_LIBRARY CACHE) unset(CUDA_nppc_LIBRARY CACHE) unset(CUDA_nppi_LIBRARY CACHE) + unset(CUDA_nppial_LIBRARY CACHE) + unset(CUDA_nppicc_LIBRARY CACHE) + unset(CUDA_nppicom_LIBRARY CACHE) + unset(CUDA_nppidei_LIBRARY CACHE) + unset(CUDA_nppif_LIBRARY CACHE) + unset(CUDA_nppig_LIBRARY CACHE) + unset(CUDA_nppim_LIBRARY CACHE) + unset(CUDA_nppist_LIBRARY CACHE) + unset(CUDA_nppisu_LIBRARY CACHE) + unset(CUDA_nppitc_LIBRARY CACHE) unset(CUDA_npps_LIBRARY CACHE) unset(CUDA_nvcuvenc_LIBRARY CACHE) unset(CUDA_nvcuvid_LIBRARY CACHE) @@ -787,7 +828,22 @@ if(NOT CUDA_VERSION VERSION_LESS "3.2") find_cuda_helper_libs(nvcuvid) endif() endif() -if(CUDA_VERSION VERSION_GREATER "5.0") +if(CUDA_VERSION VERSION_GREATER "7.5") + # In CUDA 8.0 NPP was splitted onto 12 separate libraries. + find_cuda_helper_libs(nppc) + find_cuda_helper_libs(nppial) + find_cuda_helper_libs(nppicc) + find_cuda_helper_libs(nppicom) + find_cuda_helper_libs(nppidei) + find_cuda_helper_libs(nppif) + find_cuda_helper_libs(nppig) + find_cuda_helper_libs(nppim) + find_cuda_helper_libs(nppist) + find_cuda_helper_libs(nppisu) + find_cuda_helper_libs(nppitc) + find_cuda_helper_libs(npps) + set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}") +elseif(CUDA_VERSION VERSION_GREATER "5.0") # In CUDA 5.5 NPP was splitted onto 3 separate libraries. find_cuda_helper_libs(nppc) find_cuda_helper_libs(nppi)