From a24a413d1eb9f35be5328589cb69ecddddf24854 Mon Sep 17 00:00:00 2001 From: Florent Pruvost <florent.pruvost@inria.fr> Date: Fri, 13 Apr 2018 16:33:56 +0200 Subject: [PATCH] factorize with a more powerful macro --- modules/LibrariesAbsolutePath.cmake | 69 +++++++++++++++++++++++++++++ modules/MorseInit.cmake | 3 ++ modules/find/FindBLAS.cmake | 10 +---- modules/find/FindCHAMELEON.cmake | 27 +---------- modules/find/FindFFTW.cmake | 10 +---- modules/find/FindLAPACK.cmake | 10 +---- modules/find/FindMAGMA.cmake | 17 +------ modules/find/FindMUMPS.cmake | 10 +---- modules/find/FindPARSEC.cmake | 27 +---------- modules/find/FindPASTIX.cmake | 10 +---- modules/find/FindPTSCOTCH.cmake | 10 +---- modules/find/FindQUARK.cmake | 10 +---- modules/find/FindSCALAPACK.cmake | 10 +---- modules/find/FindSCOTCH.cmake | 10 +---- modules/find/FindSTARPU.cmake | 29 +----------- 15 files changed, 88 insertions(+), 174 deletions(-) create mode 100644 modules/LibrariesAbsolutePath.cmake diff --git a/modules/LibrariesAbsolutePath.cmake b/modules/LibrariesAbsolutePath.cmake new file mode 100644 index 0000000..9a9c9a0 --- /dev/null +++ b/modules/LibrariesAbsolutePath.cmake @@ -0,0 +1,69 @@ +### +# +# @copyright (c) 2018 Inria. All rights reserved. +# +### +# +# @file LibrariesAbsolutePath.cmake +# +# @project MORSE +# MORSE is a software package provided by: +# Inria Bordeaux - Sud-Ouest, +# Univ. of Tennessee, +# King Abdullah Univesity of Science and Technology +# Univ. of California Berkeley, +# Univ. of Colorado Denver. +# +# @version 1.0.0 +# @author Florent Pruvost +# @date 13-04-2018 +# +### + +# Transform relative path into absolute path for libraries +# lib_list (input/output): the name of the CMake variable containing libraries, e.g. BLAS_LIBRARIES +# hints_paths (input): additional paths to add when looking for libraries +macro(LIBRARIES_ABSOLUTE_PATH lib_list hints_paths) + # collect environment paths to dig + if(WIN32) + string(REPLACE ":" ";" _lib_env "$ENV{LIB}") + elseif(APPLE) + string(REPLACE ":" ";" _lib_env "$ENV{DYLD_LIBRARY_PATH}") + else() + string(REPLACE ":" ";" _lib_env "$ENV{LD_LIBRARY_PATH}") + endif() + list(APPEND _lib_env "${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES}") + list(APPEND _lib_env "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}") + # copy the lib list + set (${lib_list}_COPY "${${lib_list}}") + # reset the lib list to populate + set(${lib_list} "") + foreach(_library ${${lib_list}_COPY}) + if(EXISTS "${_library}") + # if already an absolute path, nothing special to do + list(APPEND ${lib_list} ${_library}) + else() + # replace pattern -lfoo -> foo + string(REGEX REPLACE "^-l" "" _library "${_library}") + # remove extensions if exist + get_filename_component(_ext "${_library}" EXT) + set(_lib_extensions ".so" ".a" ".dyld" ".dll") + list(FIND _lib_extensions "${_ext}" _index) + if (${_index} GREATER -1) + get_filename_component(_library "${_library}" NAME_WE) + endif() + # try to find the lib + find_library(_library_path NAMES ${_library} HINTS ${hints_paths} ${_lib_env}) + if (_library_path) + list(APPEND ${lib_list} ${_library_path}) + else() + message(FATAL_ERROR "Dependency of ${lib_list} '${_library}' NOT FOUND") + endif() + unset(_library_path CACHE) + endif() + endforeach() +endmacro() + +## +## @end file LibrariesAbsolutePath.cmake +## diff --git a/modules/MorseInit.cmake b/modules/MorseInit.cmake index 85a5e84..9d4bf78 100644 --- a/modules/MorseInit.cmake +++ b/modules/MorseInit.cmake @@ -53,6 +53,9 @@ include(FindHeadersAndLibs) # To transform relative path from pkg-config into absolute include(FindPkgconfigLibrariesAbsolutePath) +# To transform relative path into absolute for a list of libraries +include(LibrariesAbsolutePath) + # Some macros to print status when search for headers and libs # PrintFindStatus.cmake is in cmake_modules/morse/find directory include(PrintFindStatus) diff --git a/modules/find/FindBLAS.cmake b/modules/find/FindBLAS.cmake index 300683e..b6ed28f 100644 --- a/modules/find/FindBLAS.cmake +++ b/modules/find/FindBLAS.cmake @@ -610,15 +610,7 @@ if( (NOT BLAS_FOUND_WITH_PKGCONFIG) OR BLAS_GIVEN_BY_USER ) find_package(Threads REQUIRED) endif() if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") endif () set(BLAS_SEARCH_LIBS "") diff --git a/modules/find/FindCHAMELEON.cmake b/modules/find/FindCHAMELEON.cmake index 744026f..627c6ca 100644 --- a/modules/find/FindCHAMELEON.cmake +++ b/modules/find/FindCHAMELEON.cmake @@ -203,15 +203,7 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR (PKG_CONFIG_EXECUTABLE AND NOT CHAMELEON_FOUN endif() set(CHAMELEON_EXTRA_LIBRARIES "") if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") list(APPEND CHAMELEON_EXTRA_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) endif () @@ -312,22 +304,7 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR (PKG_CONFIG_EXECUTABLE AND NOT CHAMELEON_FOUN mark_as_advanced(CUDA_SDK_ROOT_DIR) mark_as_advanced(CUDA_TOOLKIT_ROOT_DIR) mark_as_advanced(CUDA_VERBOSE_BUILD) - if(WIN32) - string(REPLACE ":" ";" _lib_env "$ENV{LIB}") - elseif(APPLE) - string(REPLACE ":" ";" _lib_env "$ENV{DYLD_LIBRARY_PATH}") - else() - string(REPLACE ":" ";" _lib_env "$ENV{LD_LIBRARY_PATH}") - endif() - string(REGEX REPLACE "-l" "" CUDA_LIBS "${CUDA_LIBRARIES}") - set(CUDA_LIBRARIES) - foreach(_lib ${CUDA_LIBS}) - find_library(CUDA_${_lib}_LIBRARY NAMES ${_lib} - HINTS $ENV{CUDA_ROOT}/lib64 ${_lib_env} ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (CUDA_${_lib}_LIBRARY) - list(APPEND CUDA_LIBRARIES ${CUDA_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CUDA_LIBRARIES "$ENV{CUDA_ROOT}/lib64") endif() endif() diff --git a/modules/find/FindFFTW.cmake b/modules/find/FindFFTW.cmake index ab8bf9a..af307ed 100644 --- a/modules/find/FindFFTW.cmake +++ b/modules/find/FindFFTW.cmake @@ -224,15 +224,7 @@ endif() if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") endif () set(ENV_FFTW_DIR "$ENV{FFTW_DIR}") diff --git a/modules/find/FindLAPACK.cmake b/modules/find/FindLAPACK.cmake index 5f4e299..40d6f78 100644 --- a/modules/find/FindLAPACK.cmake +++ b/modules/find/FindLAPACK.cmake @@ -467,15 +467,7 @@ if(BLAS_FOUND) find_package(Threads REQUIRED) endif() if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") endif () set(LAPACK_SEARCH_LIBS "") diff --git a/modules/find/FindMAGMA.cmake b/modules/find/FindMAGMA.cmake index 96baef2..5bd013f 100644 --- a/modules/find/FindMAGMA.cmake +++ b/modules/find/FindMAGMA.cmake @@ -78,22 +78,7 @@ else() find_package(CUDA) endif() if( CUDA_FOUND ) - if(WIN32) - string(REPLACE ":" ";" _lib_env "$ENV{LIB}") - elseif(APPLE) - string(REPLACE ":" ";" _lib_env "$ENV{DYLD_LIBRARY_PATH}") - else() - string(REPLACE ":" ";" _lib_env "$ENV{LD_LIBRARY_PATH}") - endif() - string(REGEX REPLACE "-l" "" CUDA_LIBS "${CUDA_LIBRARIES}") - set(CUDA_LIBRARIES) - foreach(_lib ${CUDA_LIBS}) - find_library(CUDA_${_lib}_LIBRARY NAMES ${_lib} - HINTS $ENV{CUDA_ROOT}/lib64 ${_lib_env} ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (CUDA_${_lib}_LIBRARY) - list(APPEND CUDA_LIBRARIES ${CUDA_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CUDA_LIBRARIES "$ENV{CUDA_ROOT}/lib64") endif () # MAGMA depends on cuBLAS which should come with CUDA, if not found -> error if (NOT CUDA_CUBLAS_LIBRARIES) diff --git a/modules/find/FindMUMPS.cmake b/modules/find/FindMUMPS.cmake index 7165db1..d61339f 100644 --- a/modules/find/FindMUMPS.cmake +++ b/modules/find/FindMUMPS.cmake @@ -142,15 +142,7 @@ else() find_package(Threads) endif() if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") endif () set(MUMPS_EXTRA_LIBRARIES "") if( THREADS_FOUND ) diff --git a/modules/find/FindPARSEC.cmake b/modules/find/FindPARSEC.cmake index c1e6198..8f74080 100644 --- a/modules/find/FindPARSEC.cmake +++ b/modules/find/FindPARSEC.cmake @@ -118,15 +118,7 @@ else() find_package(Threads) endif() if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") endif () set(PARSEC_EXTRA_LIBRARIES "") if( THREADS_FOUND ) @@ -215,22 +207,7 @@ if (PARSEC_LOOK_FOR_CUDA) mark_as_advanced(CUDA_SDK_ROOT_DIR) mark_as_advanced(CUDA_TOOLKIT_ROOT_DIR) mark_as_advanced(CUDA_VERBOSE_BUILD) - if(WIN32) - string(REPLACE ":" ";" _lib_env "$ENV{LIB}") - elseif(APPLE) - string(REPLACE ":" ";" _lib_env "$ENV{DYLD_LIBRARY_PATH}") - else() - string(REPLACE ":" ";" _lib_env "$ENV{LD_LIBRARY_PATH}") - endif() - string(REGEX REPLACE "-l" "" CUDA_LIBS "${CUDA_LIBRARIES}") - set(CUDA_LIBRARIES) - foreach(_lib ${CUDA_LIBS}) - find_library(CUDA_${_lib}_LIBRARY NAMES ${_lib} - HINTS $ENV{CUDA_ROOT}/lib64 ${_lib_env} ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (CUDA_${_lib}_LIBRARY) - list(APPEND CUDA_LIBRARIES ${CUDA_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CUDA_LIBRARIES "$ENV{CUDA_ROOT}/lib64") endif() endif() diff --git a/modules/find/FindPASTIX.cmake b/modules/find/FindPASTIX.cmake index 03fe63c..72248cc 100644 --- a/modules/find/FindPASTIX.cmake +++ b/modules/find/FindPASTIX.cmake @@ -166,15 +166,7 @@ else() find_package(Threads) endif() if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") endif () set(PASTIX_EXTRA_LIBRARIES "") if( THREADS_FOUND ) diff --git a/modules/find/FindPTSCOTCH.cmake b/modules/find/FindPTSCOTCH.cmake index 5ac7250..b2fdb9e 100644 --- a/modules/find/FindPTSCOTCH.cmake +++ b/modules/find/FindPTSCOTCH.cmake @@ -88,15 +88,7 @@ else() find_package(Threads) endif() if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") endif () # PTSCOTCH depends on MPI, try to find it diff --git a/modules/find/FindQUARK.cmake b/modules/find/FindQUARK.cmake index 06cc6e5..8361e01 100644 --- a/modules/find/FindQUARK.cmake +++ b/modules/find/FindQUARK.cmake @@ -89,15 +89,7 @@ else() find_package(Threads) endif() if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") endif () # QUARK may depend on HWLOC, try to find it diff --git a/modules/find/FindSCALAPACK.cmake b/modules/find/FindSCALAPACK.cmake index e604649..c1f34aa 100644 --- a/modules/find/FindSCALAPACK.cmake +++ b/modules/find/FindSCALAPACK.cmake @@ -342,15 +342,7 @@ if(BLAS_FOUND AND LAPACK_FOUND AND MPI_FOUND) find_package(Threads REQUIRED) endif() if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") endif () set(SCALAPACK_SEARCH_LIBS "") diff --git a/modules/find/FindSCOTCH.cmake b/modules/find/FindSCOTCH.cmake index 7b1bb7e..ea21164 100644 --- a/modules/find/FindSCOTCH.cmake +++ b/modules/find/FindSCOTCH.cmake @@ -77,15 +77,7 @@ else() find_package(Threads) endif() if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") endif () # Looking for include diff --git a/modules/find/FindSTARPU.cmake b/modules/find/FindSTARPU.cmake index 87712db..31c89ba 100644 --- a/modules/find/FindSTARPU.cmake +++ b/modules/find/FindSTARPU.cmake @@ -122,17 +122,7 @@ endif() # STARPU may depend on pthread, try to find it find_package(Threads) if( THREADS_FOUND ) - string(REGEX REPLACE "-l" "" THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}") - set(CMAKE_THREAD_LIBS_INIT) - foreach(_lib ${THREAD_LIBS}) - find_library(THREADS_${_lib}_LIBRARY NAMES ${_lib} - HINTS ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (THREADS_${_lib}_LIBRARY) - list(APPEND CMAKE_THREAD_LIBS_INIT ${THREADS_${_lib}_LIBRARY}) - endif() - endforeach() -endif () -if( THREADS_FOUND ) + libraries_absolute_path(CMAKE_THREAD_LIBS_INIT "") list(APPEND STARPU_EXTRA_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) endif () # STARPU may depend on libm, try to find it @@ -170,22 +160,7 @@ if (STARPU_LOOK_FOR_CUDA) mark_as_advanced(CUDA_SDK_ROOT_DIR) mark_as_advanced(CUDA_TOOLKIT_ROOT_DIR) mark_as_advanced(CUDA_VERBOSE_BUILD) - if(WIN32) - string(REPLACE ":" ";" _lib_env "$ENV{LIB}") - elseif(APPLE) - string(REPLACE ":" ";" _lib_env "$ENV{DYLD_LIBRARY_PATH}") - else() - string(REPLACE ":" ";" _lib_env "$ENV{LD_LIBRARY_PATH}") - endif() - string(REGEX REPLACE "-l" "" CUDA_LIBS "${CUDA_LIBRARIES}") - set(CUDA_LIBRARIES) - foreach(_lib ${CUDA_LIBS}) - find_library(CUDA_${_lib}_LIBRARY NAMES ${_lib} - HINTS $ENV{CUDA_ROOT}/lib64 ${_lib_env} ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - if (CUDA_${_lib}_LIBRARY) - list(APPEND CUDA_LIBRARIES ${CUDA_${_lib}_LIBRARY}) - endif() - endforeach() + libraries_absolute_path(CUDA_LIBRARIES "$ENV{CUDA_ROOT}/lib64") endif() endif() -- GitLab