This is an automated email from the git hooks/post-receive script. logari81 pushed a commit to branch master in repository getfem.
The following commit(s) were added to refs/heads/master by this push: new c1cd6267 Fix mumps linking issue when building with cmake c1cd6267 is described below commit c1cd62672d95c9e2546378110b57e3ab745bb026 Author: Konstantinos Poulios <logar...@gmail.com> AuthorDate: Wed Mar 6 23:54:12 2024 +0100 Fix mumps linking issue when building with cmake --- CMakeLists.txt | 61 +++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8c31e2ef..6d33dc58 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,39 +106,56 @@ if(ENABLE_MUMPS) set(MUMPS_LIBS "") if(GETFEM_PARA_LEVEL LESS_EQUAL 1) # try to find "?mumps_seq" named libs first if(NOT BUILD_SHARED_LIBS) - find_library(SMUMPS_STATIC_LIB NAMES libsmumps_seq.a PATHS ${MUMPS_LIB_DIR}) - find_library(DMUMPS_STATIC_LIB NAMES libdmumps_seq.a PATHS ${MUMPS_LIB_DIR}) - find_library(CMUMPS_STATIC_LIB NAMES libcmumps_seq.a PATHS ${MUMPS_LIB_DIR}) - find_library(ZMUMPS_STATIC_LIB NAMES libzmumps_seq.a PATHS ${MUMPS_LIB_DIR}) + find_library(SMUMPS_STATIC_LIB NAMES libsmumps_seq.a libsmumps.a smumps.lib PATHS ${MUMPS_LIB_DIR}) + find_library(DMUMPS_STATIC_LIB NAMES libdmumps_seq.a libdmumps.a dmumps.lib PATHS ${MUMPS_LIB_DIR}) + find_library(CMUMPS_STATIC_LIB NAMES libcmumps_seq.a libcmumps.a cmumps.lib PATHS ${MUMPS_LIB_DIR}) + find_library(ZMUMPS_STATIC_LIB NAMES libzmumps_seq.a libzmumps.a zmumps.lib PATHS ${MUMPS_LIB_DIR}) + find_library(MUMPS_COMMON_STATIC_LIB NAMES libmumps_common.a mumps_common.lib PATHS ${MUMPS_LIB_DIR}) + find_library(PORD_STATIC_LIB NAMES libpord.a pord.lib PATHS ${MUMPS_LIB_DIR}) + find_library(MPISEQ_STATIC_LIB NAMES libmpiseq.a libmpiseq_seq.a mpiseq.lib PATHS ${MUMPS_LIB_DIR}) endif() - if(SMUMPS_STATIC_LIB AND DMUMPS_STATIC_LIB AND CMUMPS_STATIC_LIB AND ZMUMPS_STATIC_LIB) - set(MUMPS_LIBS ${SMUMPS_STATIC_LIB} ${DMUMPS_STATIC_LIB} ${CMUMPS_STATIC_LIB} ${ZMUMPS_STATIC_LIB}) + if(SMUMPS_STATIC_LIB AND DMUMPS_STATIC_LIB AND CMUMPS_STATIC_LIB AND ZMUMPS_STATIC_LIB + AND MUMPS_COMMON_STATIC_LIB AND PORD_STATIC_LIB AND MPISEQ_STATIC_LIB) + set(MUMPS_LIBS ${SMUMPS_STATIC_LIB} ${DMUMPS_STATIC_LIB} ${CMUMPS_STATIC_LIB} ${ZMUMPS_STATIC_LIB} + ${MUMPS_COMMON_STATIC_LIB} ${PORD_STATIC_LIB} ${MPISEQ_STATIC_LIB}) else() - find_library(SMUMPS_LIB NAMES smumps_seq PATHS ${MUMPS_LIB_DIR}) - find_library(DMUMPS_LIB NAMES dmumps_seq PATHS ${MUMPS_LIB_DIR}) - find_library(CMUMPS_LIB NAMES cmumps_seq PATHS ${MUMPS_LIB_DIR}) - find_library(ZMUMPS_LIB NAMES zmumps_seq PATHS ${MUMPS_LIB_DIR}) - if (SMUMPS_LIB AND DMUMPS_LIB AND CMUMPS_LIB AND ZMUMPS_LIB) - set(MUMPS_LIBS ${SMUMPS_LIB} ${DMUMPS_LIB} ${CMUMPS_LIB} ${ZMUMPS_LIB}) + find_library(SMUMPS_LIB NAMES smumps_seq smumps PATHS ${MUMPS_LIB_DIR}) + find_library(DMUMPS_LIB NAMES dmumps_seq dmumps PATHS ${MUMPS_LIB_DIR}) + find_library(CMUMPS_LIB NAMES cmumps_seq cmumps PATHS ${MUMPS_LIB_DIR}) + find_library(ZMUMPS_LIB NAMES zmumps_seq zmumps PATHS ${MUMPS_LIB_DIR}) + find_library(MUMPS_COMMON_LIB NAMES mumps_common PATHS ${MUMPS_LIB_DIR}) + find_library(PORD_LIB NAMES pord PATHS ${MUMPS_LIB_DIR}) + find_library(MPISEQ_LIB NAMES mpiseq mpiseq_seq PATHS ${MUMPS_LIB_DIR}) + if (SMUMPS_LIB AND DMUMPS_LIB AND CMUMPS_LIB AND ZMUMPS_LIB + AND MUMPS_COMMON_LIB AND PORD_LIB AND MPISEQ_LIB) + set(MUMPS_LIBS ${SMUMPS_LIB} ${DMUMPS_LIB} ${CMUMPS_LIB} ${ZMUMPS_LIB} + ${MUMPS_COMMON_LIB} ${PORD_LIB} ${MPISEQ_LIB}) endif() endif() - endif() - if("${MUMPS_LIBS}" STREQUAL "") # try to find "?mumps" named libs + else() # GETFEM_PARA_LEVEL = 2 if(NOT BUILD_SHARED_LIBS) - find_library(SMUMPS_STATIC_LIB NAMES libsmumps.a PATHS ${MUMPS_LIB_DIR}) - find_library(DMUMPS_STATIC_LIB NAMES libdmumps.a PATHS ${MUMPS_LIB_DIR}) - find_library(CMUMPS_STATIC_LIB NAMES libcmumps.a PATHS ${MUMPS_LIB_DIR}) - find_library(ZMUMPS_STATIC_LIB NAMES libzmumps.a PATHS ${MUMPS_LIB_DIR}) + find_library(SMUMPS_STATIC_LIB NAMES libsmumps.a smumps.lib PATHS ${MUMPS_LIB_DIR}) + find_library(DMUMPS_STATIC_LIB NAMES libdmumps.a dmumps.lib PATHS ${MUMPS_LIB_DIR}) + find_library(CMUMPS_STATIC_LIB NAMES libcmumps.a cmumps.lib PATHS ${MUMPS_LIB_DIR}) + find_library(ZMUMPS_STATIC_LIB NAMES libzmumps.a zmumps.lib PATHS ${MUMPS_LIB_DIR}) + find_library(MUMPS_COMMON_STATIC_LIB NAMES libmumps_common.a mumps_common.lib PATHS ${MUMPS_LIB_DIR}) + find_library(PORD_STATIC_LIB NAMES libpord.a pord.lib PATHS ${MUMPS_LIB_DIR}) endif() - if(SMUMPS_STATIC_LIB AND DMUMPS_STATIC_LIB AND CMUMPS_STATIC_LIB AND ZMUMPS_STATIC_LIB) - set(MUMPS_LIBS ${SMUMPS_STATIC_LIB} ${DMUMPS_STATIC_LIB} ${CMUMPS_STATIC_LIB} ${ZMUMPS_STATIC_LIB}) + if(SMUMPS_STATIC_LIB AND DMUMPS_STATIC_LIB AND CMUMPS_STATIC_LIB AND ZMUMPS_STATIC_LIB + AND MUMPS_COMMON_STATIC_LIB AND PORD_STATIC_LIB) + set(MUMPS_LIBS ${SMUMPS_STATIC_LIB} ${DMUMPS_STATIC_LIB} ${CMUMPS_STATIC_LIB} ${ZMUMPS_STATIC_LIB} + ${MUMPS_COMMON_STATIC_LIB} ${PORD_STATIC_LIB}) else() find_library(SMUMPS_LIB NAMES smumps PATHS ${MUMPS_LIB_DIR}) find_library(DMUMPS_LIB NAMES dmumps PATHS ${MUMPS_LIB_DIR}) find_library(CMUMPS_LIB NAMES cmumps PATHS ${MUMPS_LIB_DIR}) find_library(ZMUMPS_LIB NAMES zmumps PATHS ${MUMPS_LIB_DIR}) - if (SMUMPS_LIB AND DMUMPS_LIB AND CMUMPS_LIB AND ZMUMPS_LIB) - set(MUMPS_LIBS ${SMUMPS_LIB} ${DMUMPS_LIB} ${CMUMPS_LIB} ${ZMUMPS_LIB}) + find_library(MUMPS_COMMON_LIB NAMES mumps_common PATHS ${MUMPS_LIB_DIR}) + find_library(PORD_LIB NAMES pord PATHS ${MUMPS_LIB_DIR}) + if (SMUMPS_LIB AND DMUMPS_LIB AND CMUMPS_LIB AND ZMUMPS_LIB + AND MUMPS_COMMON_LIB AND PORD_LIB) + set(MUMPS_LIBS ${SMUMPS_LIB} ${DMUMPS_LIB} ${CMUMPS_LIB} ${ZMUMPS_LIB} + ${MUMPS_COMMON_LIB} ${PORD_LIB}) endif() endif() endif()