From 031faaee2c49b7eef4bb9cbe6f0fec7305306b4b Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Mon, 9 Nov 2020 14:40:09 +0100
Subject: [PATCH] [CMake] Renamed metis lib to ogs_metis.

This avoids dependency clashes with system-installed metis.
---
 ThirdParty/CMakeLists.txt      |  2 +-
 scripts/cmake/Find.cmake       |  2 --
 scripts/cmake/FindMetis.cmake  | 21 ---------------------
 scripts/cmake/MetisSetup.cmake | 16 ++++++++--------
 4 files changed, 9 insertions(+), 32 deletions(-)
 delete mode 100644 scripts/cmake/FindMetis.cmake

diff --git a/ThirdParty/CMakeLists.txt b/ThirdParty/CMakeLists.txt
index 9760f5c9d71..84e118e4505 100644
--- a/ThirdParty/CMakeLists.txt
+++ b/ThirdParty/CMakeLists.txt
@@ -85,7 +85,7 @@ endif()
 
 if(OGS_BUILD_UTILS)
     include(${PROJECT_SOURCE_DIR}/scripts/cmake/MetisSetup.cmake)
-    list(APPEND DISABLE_WARNINGS_TARGETS metis mpmetis)
+    list(APPEND DISABLE_WARNINGS_TARGETS ogs_metis mpmetis)
 endif()
 
 foreach(TARGET ${DISABLE_WARNINGS_TARGETS})
diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake
index e85d3a0ae51..24943599abe 100644
--- a/scripts/cmake/Find.cmake
+++ b/scripts/cmake/Find.cmake
@@ -116,8 +116,6 @@ if(OPENMP_FOUND)
     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
 endif()
 
-find_package(Metis QUIET)
-
 ## Qt5 library ##
 if(OGS_BUILD_GUI)
     set(QT_MODULES Gui Widgets Xml XmlPatterns)
diff --git a/scripts/cmake/FindMetis.cmake b/scripts/cmake/FindMetis.cmake
deleted file mode 100644
index 6f59dd3598a..00000000000
--- a/scripts/cmake/FindMetis.cmake
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# Find the METIS includes and libraries
-#
-#    METIS_INCLUDE_DIR - where to find metis.h
-#    METIS_LIBRARIES   - List of fully qualified libraries to link against.
-#    METIS_FOUND       - Do not attempt to use if "no" or undefined.
-#
-# METIS is an library that implements a variety of algorithms for
-# partitioning unstructured graphs, meshes, and for computing fill-reducing orderings of
-# sparse matrices. It can be found at:
-# http://glaros.dtc.umn.edu/gkhome/metis/metis/download
-#
-
-find_path(METIS_INCLUDE_DIR metis.h)
-
-find_library(METIS_LIBRARY metis)
-
-set(METIS_LIBRARIES ${METIS_LIBRARY})
-
-include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Metis DEFAULT_MSG METIS_LIBRARY METIS_INCLUDE_DIR)
diff --git a/scripts/cmake/MetisSetup.cmake b/scripts/cmake/MetisSetup.cmake
index 5ed1234541a..38dd03ce03f 100644
--- a/scripts/cmake/MetisSetup.cmake
+++ b/scripts/cmake/MetisSetup.cmake
@@ -22,19 +22,19 @@ include_directories(BEFORE ${METIS_PATH}/libmetis)
 # Find sources.
 file(GLOB metis_sources ${METIS_PATH}/libmetis/*.c)
 # Build libmetis.
-add_library(metis ${GKlib_sources} ${metis_sources})
+add_library(ogs_metis ${GKlib_sources} ${metis_sources})
 if(OPENMP_FOUND)
-    target_link_libraries(metis OpenMP::OpenMP_C)
+    target_link_libraries(ogs_metis OpenMP::OpenMP_C)
 endif()
 if(BUILD_SHARED_LIBS)
-    install(TARGETS metis LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+    install(TARGETS ogs_metis LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
 endif()
 
 if(UNIX)
-  target_link_libraries(metis m)
+  target_link_libraries(ogs_metis m)
 elseif(MSVC)
   include(GenerateExportHeader)
-  generate_export_header(metis)
+  generate_export_header(ogs_metis)
 endif()
 
 ## Compile mpmetis
@@ -48,12 +48,12 @@ set(METIS_SOURCES
    ${METIS_PATH}/programs/stat.c
    )
 add_executable(mpmetis ${METIS_SOURCES})
-target_link_libraries(mpmetis metis)
+target_link_libraries(mpmetis ogs_metis)
 install(TARGETS mpmetis RUNTIME DESTINATION bin COMPONENT ogs_partmesh)
 
 # Disable warnings
 if(MSVC)
-    set_target_properties(metis mpmetis PROPERTIES COMPILE_FLAGS /W0)
+    set_target_properties(ogs_metis mpmetis PROPERTIES COMPILE_FLAGS /W0)
 else()
-    set_target_properties(metis mpmetis PROPERTIES COMPILE_FLAGS -w)
+    set_target_properties(ogs_metis mpmetis PROPERTIES COMPILE_FLAGS -w)
 endif()
-- 
GitLab