From 23fbc6ba85f5c7b13f69528a3295a2285502e9ea Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Mon, 8 Feb 2021 22:18:16 +0100
Subject: [PATCH] Replaced metis submodule with CPM.

---
 .gitmodules                                               | 3 ---
 .../Utils/ModelPreparation/PartitionMesh/CMakeLists.txt   | 8 ++++++++
 ThirdParty/CMakeLists.txt                                 | 5 -----
 ThirdParty/metis                                          | 1 -
 scripts/cmake/MetisSetup.cmake                            | 2 +-
 scripts/cmake/SubmoduleSetup.cmake                        | 4 ----
 6 files changed, 9 insertions(+), 14 deletions(-)
 delete mode 160000 ThirdParty/metis

diff --git a/.gitmodules b/.gitmodules
index f25f5e6b5ba..15e5d5f64ee 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,3 @@
-[submodule "ThirdParty/metis"]
-	path = ThirdParty/metis
-	url = https://github.com/scibuilder/metis.git
 [submodule "ThirdParty/SwmmInterface"]
 	path = ThirdParty/SwmmInterface
 	url = https://github.com/ufz/SwmmInterface.git
diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt b/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
index 26815713ce4..71d080d9f28 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
@@ -1,3 +1,11 @@
+CPMAddPackage(
+    NAME metis
+    GITHUB_REPOSITORY scibuilder/metis
+    GIT_TAG 982842a5ace9b3da2b2800817eb9e5fd3b42966b
+    DOWNLOAD_ONLY YES
+)
+include(${PROJECT_SOURCE_DIR}/scripts/cmake/MetisSetup.cmake)
+
 add_executable(partmesh PartitionMesh.cpp Metis.cpp NodeWiseMeshPartitioner.cpp)
 set_target_properties(partmesh PROPERTIES FOLDER Utilities)
 target_link_libraries(partmesh GitInfoLib MeshLib tclap)
diff --git a/ThirdParty/CMakeLists.txt b/ThirdParty/CMakeLists.txt
index 6b2afcd5566..99ce676bed0 100644
--- a/ThirdParty/CMakeLists.txt
+++ b/ThirdParty/CMakeLists.txt
@@ -67,11 +67,6 @@ if(OGS_USE_PYTHON)
 
 endif()
 
-if(OGS_BUILD_UTILS)
-    include(${PROJECT_SOURCE_DIR}/scripts/cmake/MetisSetup.cmake)
-    list(APPEND DISABLE_WARNINGS_TARGETS ogs_metis mpmetis)
-endif()
-
 if(OGS_USE_XDMF)
     find_package(ZLIB REQUIRED) # ZLIB is a HDF5 dependency
     set(XDMF_LIBNAME OgsXdmf CACHE INTERNAL "")
diff --git a/ThirdParty/metis b/ThirdParty/metis
deleted file mode 160000
index 982842a5ace..00000000000
--- a/ThirdParty/metis
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 982842a5ace9b3da2b2800817eb9e5fd3b42966b
diff --git a/scripts/cmake/MetisSetup.cmake b/scripts/cmake/MetisSetup.cmake
index 613c7e8e5ce..1fcf26182fd 100644
--- a/scripts/cmake/MetisSetup.cmake
+++ b/scripts/cmake/MetisSetup.cmake
@@ -1,7 +1,7 @@
 message( STATUS "The METIS package is copyrighted by the Regents of the University of Minnesota." )
 message( STATUS "Please read the license of the METIS package carefully before you use the METIS." )
 
-set(METIS_PATH ${PROJECT_SOURCE_DIR}/ThirdParty/metis)
+set(METIS_PATH ${metis_SOURCE_DIR})
 add_definitions(-DUSE_GKREGEX)
 set(GKLIB_PATH "${METIS_PATH}/GKlib" CACHE PATH "path to GKlib")
 
diff --git a/scripts/cmake/SubmoduleSetup.cmake b/scripts/cmake/SubmoduleSetup.cmake
index 64627def806..a567dd07059 100644
--- a/scripts/cmake/SubmoduleSetup.cmake
+++ b/scripts/cmake/SubmoduleSetup.cmake
@@ -9,10 +9,6 @@ set(REQUIRED_SUBMODULES
 if(OGS_USE_XDMF)
     list(APPEND REQUIRED_SUBMODULES ThirdParty/xdmf)
 endif()
-if(OGS_BUILD_UTILS)
-    # Required by the partmesh tool, which is build with utils only.
-    list(APPEND REQUIRED_SUBMODULES ThirdParty/metis)
-endif()
 if(OGS_BUILD_SWMM)
     list(APPEND REQUIRED_SUBMODULES ThirdParty/SwmmInterface)
 endif()
-- 
GitLab