diff --git a/cmake_modules/morse/find/FindCHAMELEON.cmake b/cmake_modules/morse/find/FindCHAMELEON.cmake
index 9aa16decdd6487ed604c7881d11bf23dc0d47058..383535110fdc7087f239a666c6b47ab4214c2f70 100644
--- a/cmake_modules/morse/find/FindCHAMELEON.cmake
+++ b/cmake_modules/morse/find/FindCHAMELEON.cmake
@@ -611,7 +611,13 @@ if( (NOT PKG_CONFIG_EXECUTABLE AND NOT CHAMELEON_FOUND) OR NOT CHAMELEON_FOUND )
                     list(APPEND REQUIRED_LIBDIRS "${libdir}")
                 endif()
             endforeach()
-            list(APPEND CMAKE_REQUIRED_LIBRARIES "${HWLOC_LIBRARIES}")
+            foreach(lib ${HWLOC_LIBRARIES})
+                if (EXISTS ${lib} OR ${lib} MATCHES "^-")
+                    list(APPEND REQUIRED_LIBS "${lib}")
+                else()
+                    list(APPEND REQUIRED_LIBS "-l${lib}")
+                endif()
+            endforeach()
         endif()
         # TMG
         if (TMG_FOUND)
diff --git a/cmake_modules/morse/find/FindPASTIX.cmake b/cmake_modules/morse/find/FindPASTIX.cmake
index d5f33e8a890c0ac282d89882016cfad3a2b34640..bbaab381d01fab4b1513bcc37c493719764579c3 100644
--- a/cmake_modules/morse/find/FindPASTIX.cmake
+++ b/cmake_modules/morse/find/FindPASTIX.cmake
@@ -519,7 +519,13 @@ if(PASTIX_LIBRARIES)
                 list(APPEND REQUIRED_LIBDIRS "${libdir}")
             endif()
         endforeach()
-        list(APPEND REQUIRED_LIBS "${HWLOC_LIBRARIES}")
+        foreach(lib ${HWLOC_LIBRARIES})
+            if (EXISTS ${lib} OR ${lib} MATCHES "^-")
+                list(APPEND REQUIRED_LIBS "${lib}")
+            else()
+                list(APPEND REQUIRED_LIBS "-l${lib}")
+            endif()
+        endforeach()
     endif()
     # BLAS
     if (BLAS_FOUND)
@@ -569,12 +575,6 @@ if(PASTIX_LIBRARIES)
         endforeach()
         list(APPEND REQUIRED_LIBS "${METIS_LIBRARIES}")
     endif()
-    # Fortran
-    if (CMAKE_Fortran_COMPILER MATCHES ".+gfortran.*")
-        list(APPEND REQUIRED_LIBS "-lgfortran")
-    elseif (CMAKE_Fortran_COMPILER MATCHES ".+ifort.*")
-        list(APPEND REQUIRED_LIBS "-lifcore")
-    endif()
     # EXTRA LIBS such that pthread, m, rt
     list(APPEND REQUIRED_LIBS ${PASTIX_EXTRA_LIBRARIES})
 
diff --git a/cmake_modules/morse/find/FindPTSCOTCH.cmake b/cmake_modules/morse/find/FindPTSCOTCH.cmake
index 48feec169d5c4d52d673e53d24130a55b4b2b446..cfeae5344d57b657407dfd52d8a17c29d3c1a145 100644
--- a/cmake_modules/morse/find/FindPTSCOTCH.cmake
+++ b/cmake_modules/morse/find/FindPTSCOTCH.cmake
@@ -234,7 +234,6 @@ if(PTSCOTCH_LIBRARIES)
         endif()
         list(APPEND REQUIRED_LIBS "${MPI_C_LIBRARIES}")
     endif()
-    endif()
     # THREADS
     if(CMAKE_THREAD_LIBS_INIT)
         list(APPEND REQUIRED_LIBS "${CMAKE_THREAD_LIBS_INIT}")
diff --git a/cmake_modules/morse/find/FindQUARK.cmake b/cmake_modules/morse/find/FindQUARK.cmake
index 1735879de6320b58d1932c33d200b8e6ca822806..306fc0339cabc5a8ecb903b0d0561dc2d7c6194f 100644
--- a/cmake_modules/morse/find/FindQUARK.cmake
+++ b/cmake_modules/morse/find/FindQUARK.cmake
@@ -235,7 +235,13 @@ if(QUARK_LIBRARIES)
         if (HWLOC_LIBRARY_DIRS)
             list(APPEND REQUIRED_LIBDIRS "${HWLOC_LIBRARY_DIRS}")
         endif()
-        list(APPEND REQUIRED_LIBS "${HWLOC_LIBRARIES}")
+        foreach(lib ${HWLOC_LIBRARIES})
+            if (EXISTS ${lib} OR ${lib} MATCHES "^-")
+                list(APPEND REQUIRED_LIBS "${lib}")
+            else()
+                list(APPEND REQUIRED_LIBS "-l${lib}")
+            endif()
+        endforeach()
     endif()
     # THREADS
     list(APPEND REQUIRED_LIBS "${CMAKE_THREAD_LIBS_INIT}")
diff --git a/cmake_modules/morse/find/FindSTARPU.cmake b/cmake_modules/morse/find/FindSTARPU.cmake
index 89a36bc19690dfb4df034c59d15ea5976b6300af..66f0f6c80d00934cbe4bbaa133f1086e9fa859f7 100644
--- a/cmake_modules/morse/find/FindSTARPU.cmake
+++ b/cmake_modules/morse/find/FindSTARPU.cmake
@@ -626,7 +626,13 @@ if( (NOT PKG_CONFIG_EXECUTABLE AND NOT STARPU_FOUND) OR
             if (HWLOC_LIBRARY_DIRS)
                 list(APPEND REQUIRED_LIBDIRS "${HWLOC_LIBRARY_DIRS}")
             endif()
-            list(APPEND REQUIRED_LIBS "${HWLOC_LIBRARIES}")
+            foreach(lib ${HWLOC_LIBRARIES})
+                if (EXISTS ${lib} OR ${lib} MATCHES "^-")
+                    list(APPEND REQUIRED_LIBS "${lib}")
+                else()
+                    list(APPEND REQUIRED_LIBS "-l${lib}")
+                endif()
+            endforeach()
         endif()
         # MPI
         if (MPI_FOUND AND STARPU_LOOK_FOR_MPI)
@@ -680,7 +686,13 @@ if( (NOT PKG_CONFIG_EXECUTABLE AND NOT STARPU_FOUND) OR
             if (FXT_LIBRARY_DIRS)
                 list(APPEND REQUIRED_LIBDIRS "${FXT_LIBRARY_DIRS}")
             endif()
-            list(APPEND REQUIRED_LIBS "${FXT_LIBRARIES}")
+            foreach(lib ${FXT_LIBRARIES})
+                if (EXISTS ${lib} OR ${lib} MATCHES "^-")
+                    list(APPEND REQUIRED_LIBS "${lib}")
+                else()
+                    list(APPEND REQUIRED_LIBS "-l${lib}")
+                endif()
+            endforeach()
         endif()
         # BLAS
         if (BLAS_FOUND AND STARPU_LOOK_FOR_BLAS)