From b74475a255fc39069196aded4d9e44d3f6e8ed58 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Thu, 11 Feb 2021 20:21:05 +0100
Subject: [PATCH] Replace MGIS submodule with CPM.

---
 .gitmodules                                   |  3 ---
 MaterialLib/SolidModels/MFront/CMakeLists.txt |  2 --
 ThirdParty/CMakeLists.txt                     | 10 ----------
 ThirdParty/MGIS                               |  1 -
 scripts/cmake/Dependencies.cmake              | 15 +++++++++++++++
 scripts/cmake/SubmoduleSetup.cmake            |  3 ---
 6 files changed, 15 insertions(+), 19 deletions(-)
 delete mode 160000 ThirdParty/MGIS

diff --git a/.gitmodules b/.gitmodules
index 1cc94fa678b..6673c74f9a2 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,9 +1,6 @@
 [submodule "ThirdParty/SwmmInterface"]
 	path = ThirdParty/SwmmInterface
 	url = https://github.com/ufz/SwmmInterface.git
-[submodule "ThirdParty/MGIS"]
-	path = ThirdParty/MGIS
-	url = https://github.com/ufz/MFrontGenericInterfaceSupport.git
 [submodule "ThirdParty/container-maker"]
 	path = ThirdParty/container-maker
 	url = https://gitlab.opengeosys.org/ogs/container-maker.git
diff --git a/MaterialLib/SolidModels/MFront/CMakeLists.txt b/MaterialLib/SolidModels/MFront/CMakeLists.txt
index 8078835707f..3e82944b161 100644
--- a/MaterialLib/SolidModels/MFront/CMakeLists.txt
+++ b/MaterialLib/SolidModels/MFront/CMakeLists.txt
@@ -4,8 +4,6 @@ list(APPEND SOURCES MFront.cpp MFront.h)
 
 ogs_add_library(MaterialLib_SolidModels_MFront ${SOURCES})
 
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
-                      "${PROJECT_SOURCE_DIR}/ThirdParty/MGIS")
 mfront_behaviours_check_library(
     OgsMFrontBehaviour
     BDT
diff --git a/ThirdParty/CMakeLists.txt b/ThirdParty/CMakeLists.txt
index b3080d6eab3..03584ee1771 100644
--- a/ThirdParty/CMakeLists.txt
+++ b/ThirdParty/CMakeLists.txt
@@ -1,13 +1,3 @@
-# MFrontGenericInterfaceSupport
-if (OGS_USE_MFRONT)
-    set(enable-doxygen-doc OFF CACHE INTERNAL "")
-    set(enable-fortran-bindings OFF CACHE INTERNAL "")
-    set(CMAKE_CXX_STANDARD 11)
-    add_subdirectory(MGIS)
-    set(CMAKE_CXX_STANDARD 17)
-    list(APPEND DISABLE_WARNINGS_TARGETS MFrontGenericInterface)
-endif()
-
 # VtkFbxConverter
 if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/VtkFbxConverter/CMakeLists.txt
     AND OGS_USE_OPTIONAL_SUBMODULES)
diff --git a/ThirdParty/MGIS b/ThirdParty/MGIS
deleted file mode 160000
index 56c5e35fb57..00000000000
--- a/ThirdParty/MGIS
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 56c5e35fb571d992714e663c6bf61ad5354ba296
diff --git a/scripts/cmake/Dependencies.cmake b/scripts/cmake/Dependencies.cmake
index 354fc3e5260..2a494f5bd4b 100644
--- a/scripts/cmake/Dependencies.cmake
+++ b/scripts/cmake/Dependencies.cmake
@@ -109,6 +109,21 @@ if(Eigen3_ADDED)
     target_include_directories(Eigen3::Eigen SYSTEM INTERFACE ${Eigen3_SOURCE_DIR})
 endif()
 
+if(OGS_USE_MFRONT)
+    CPMAddPackage(
+        NAME MGIS
+        GITHUB_REPOSITORY ufz/MFrontGenericInterfaceSupport
+        GIT_TAG 56c5e35fb571d992714e663c6bf61ad5354ba296
+        OPTIONS
+            "enable-doxygen-doc OFF"
+            "enable-fortran-bindings OFF"
+    )
+    if(MGIS_ADDED)
+        set_target_properties(MFrontGenericInterface PROPERTIES CXX_STANDARD 11)
+        list(APPEND DISABLE_WARNINGS_TARGETS MFrontGenericInterface)
+    endif()
+endif()
+
 # Disable warnings
 foreach(TARGET ${DISABLE_WARNINGS_TARGETS})
     target_compile_options(${TARGET} PRIVATE
diff --git a/scripts/cmake/SubmoduleSetup.cmake b/scripts/cmake/SubmoduleSetup.cmake
index cd7c41079e1..ae47b74e90d 100644
--- a/scripts/cmake/SubmoduleSetup.cmake
+++ b/scripts/cmake/SubmoduleSetup.cmake
@@ -9,9 +9,6 @@ endif()
 if(OGS_BUILD_SWMM)
     list(APPEND REQUIRED_SUBMODULES ThirdParty/SwmmInterface)
 endif()
-if (OGS_USE_MFRONT)
-    list(APPEND REQUIRED_SUBMODULES ThirdParty/MGIS)
-endif()
 
 execute_process(
     COMMAND ${GIT_EXECUTABLE} submodule status
-- 
GitLab