From 29fb19fb9bef4b44bf0698eb82c5a57c9103d698 Mon Sep 17 00:00:00 2001 From: scivision Date: Thu, 2 May 2024 11:15:53 -0400 Subject: [PATCH] allow arbitrary MUMPS_UPSTREAM_VERSION --- CMakeLists.txt | 18 +++++++++++++++++- cmake/libraries.json | 18 ------------------ cmake/mumps_src.cmake | 33 --------------------------------- 3 files changed, 17 insertions(+), 52 deletions(-) delete mode 100644 cmake/mumps_src.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 690a8cb..02581e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,7 +107,23 @@ message(STATUS "MUMPS ORDERING_DEFS: ${ORDERING_DEFS}") message(STATUS "MUMPS ORDERING_LIBS: ${ORDERING_LIBS}") # --- download MUMPS source -include(cmake/mumps_src.cmake) +include(FetchContent) + +set(url "https://mumps-solver.org/MUMPS_${MUMPS_UPSTREAM_VERSION}.tar.gz") + +set(FETCHCONTENT_QUIET no) + +FetchContent_Declare(${PROJECT_NAME} +SOURCE_DIR ${PROJECT_SOURCE_DIR}/mumps/${MUMPS_UPSTREAM_VERSION} +URL ${url} +TLS_VERIFY ${CMAKE_TLS_VERIFY} +) + +FetchContent_GetProperties(${PROJECT_NAME}) +if(NOT ${PROJECT_NAME}_POPULATED) + FetchContent_Populate(${PROJECT_NAME}) +endif() + message(VERBOSE "MUMPS ${MUMPS_UPSTREAM_VERSION} source directory: ${mumps_SOURCE_DIR}") # --- MUMPS build diff --git a/cmake/libraries.json b/cmake/libraries.json index 4c7722c..ecd001b 100644 --- a/cmake/libraries.json +++ b/cmake/libraries.json @@ -13,23 +13,5 @@ "scotch": { "git": "https://gitlab.inria.fr/scotch/scotch.git", "tag": "v7.0.4" - }, - - "mumps_src": { - "4.8.4": "https://graal.ens-lyon.fr/MUMPS/MUMPS_4.8.4.tar.gz", - "4.9.2": "https://graal.ens-lyon.fr/MUMPS/MUMPS_4.9.2.tar.gz", - "4.10.0": "https://graal.ens-lyon.fr/MUMPS/MUMPS_4.10.0.tar.gz", - "5.0.2": "https://graal.ens-lyon.fr/MUMPS/MUMPS_5.0.2.tar.gz", - "5.1.2": "https://graal.ens-lyon.fr/MUMPS/MUMPS_5.1.2.tar.gz", - "5.2.1": "https://graal.ens-lyon.fr/MUMPS/MUMPS_5.2.1.tar.gz", - "5.3.1": "https://graal.ens-lyon.fr/MUMPS/MUMPS_5.3.1.tar.gz", - "5.3.5": "https://graal.ens-lyon.fr/MUMPS/MUMPS_5.3.5.tar.gz", - "5.4.1": "https://graal.ens-lyon.fr/MUMPS/MUMPS_5.4.1.tar.gz", - "5.5.0": "https://graal.ens-lyon.fr/MUMPS/MUMPS_5.5.0.tar.gz", - "5.5.1": "https://graal.ens-lyon.fr/MUMPS/MUMPS_5.5.1.tar.gz", - "5.6.0": "https://mumps-solver.org/MUMPS_5.6.0.tar.gz", - "5.6.1": "https://mumps-solver.org/MUMPS_5.6.1.tar.gz", - "5.6.2": "https://mumps-solver.org/MUMPS_5.6.2.tar.gz", - "5.7.0": "https://mumps-solver.org/MUMPS_5.7.0.tar.gz" } } diff --git a/cmake/mumps_src.cmake b/cmake/mumps_src.cmake deleted file mode 100644 index 150d700..0000000 --- a/cmake/mumps_src.cmake +++ /dev/null @@ -1,33 +0,0 @@ -# a few versions of MUMPS are known to work and are specifically listed in the -# libraries.json file. - -include(FetchContent) - -string(TOLOWER ${PROJECT_NAME}_src name) - -if(NOT MUMPS_UPSTREAM_VERSION) - message(FATAL_ERROR "please specify MUMPS_UPSTREAM_VERSION") -endif() - -file(READ ${CMAKE_CURRENT_LIST_DIR}/libraries.json json) - -string(JSON url GET ${json} ${name} ${MUMPS_UPSTREAM_VERSION}) - -if(NOT url) - message(FATAL_ERROR "unknown MUMPS_UPSTREAM_VERSION ${MUMPS_UPSTREAM_VERSION}. - Make a GitHub issue to request this in ${CMAKE_CURRENT_LIST_DIR}/libraries.json - ") -endif() - -set(FETCHCONTENT_QUIET no) - -FetchContent_Declare(${PROJECT_NAME} -SOURCE_DIR ${PROJECT_SOURCE_DIR}/mumps/${MUMPS_UPSTREAM_VERSION} -URL ${url} -TLS_VERIFY ${CMAKE_TLS_VERIFY} -) - -FetchContent_GetProperties(${PROJECT_NAME}) -if(NOT ${PROJECT_NAME}_POPULATED) - FetchContent_Populate(${PROJECT_NAME}) -endif()