From 4d09e3823762bb32b1eba61c55ad568679e868cc Mon Sep 17 00:00:00 2001
From: Florent Pruvost <florent.pruvost@inria.fr>
Date: Fri, 13 Apr 2018 13:03:27 +0200
Subject: [PATCH] add hints to look for cuda libraries

---
 modules/find/FindCHAMELEON.cmake | 9 ++++++++-
 modules/find/FindMAGMA.cmake     | 9 ++++++++-
 modules/find/FindPARSEC.cmake    | 9 ++++++++-
 modules/find/FindSTARPU.cmake    | 9 ++++++++-
 4 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/modules/find/FindCHAMELEON.cmake b/modules/find/FindCHAMELEON.cmake
index 8b22f5b..744026f 100644
--- a/modules/find/FindCHAMELEON.cmake
+++ b/modules/find/FindCHAMELEON.cmake
@@ -312,11 +312,18 @@ 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 ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
+          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()
diff --git a/modules/find/FindMAGMA.cmake b/modules/find/FindMAGMA.cmake
index fd20fdc..96baef2 100644
--- a/modules/find/FindMAGMA.cmake
+++ b/modules/find/FindMAGMA.cmake
@@ -78,11 +78,18 @@ 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 ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
+      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()
diff --git a/modules/find/FindPARSEC.cmake b/modules/find/FindPARSEC.cmake
index cbd5762..c1e6198 100644
--- a/modules/find/FindPARSEC.cmake
+++ b/modules/find/FindPARSEC.cmake
@@ -215,11 +215,18 @@ 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 ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
+        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()
diff --git a/modules/find/FindSTARPU.cmake b/modules/find/FindSTARPU.cmake
index 1afb209..87712db 100644
--- a/modules/find/FindSTARPU.cmake
+++ b/modules/find/FindSTARPU.cmake
@@ -170,11 +170,18 @@ 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 ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
+        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()
-- 
GitLab