From 5ce7952b701787c590bc3a150cfb62d78512e867 Mon Sep 17 00:00:00 2001 From: scivision Date: Thu, 26 Oct 2023 10:55:42 -0400 Subject: [PATCH] FindSCALAPACK: correct ALIAS of Lapack with MKL --- CMakeLists.txt | 6 +++--- cmake/FindSCALAPACK.cmake | 11 ++++------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e301bba..e81d19d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ endif() project(MUMPS LANGUAGES C Fortran -VERSION 5.6.2.1 +VERSION 5.6.2.2 DESCRIPTION "Sparse direct parallel solver" HOMEPAGE_URL "http://mumps-solver.org/" ) @@ -48,11 +48,11 @@ find_package(Threads) if(parallel) find_package(MPI COMPONENTS C Fortran REQUIRED) - include(cmake/scalapack.cmake) - if(NOT MKL_FOUND) + if(NOT DEFINED ENV{MKLROOT}) # oneMKL MKLConfig.cmake must be invoked only once include(cmake/lapack.cmake) endif() + include(cmake/scalapack.cmake) set(NUMERIC_LIBS SCALAPACK::SCALAPACK LAPACK::LAPACK) diff --git a/cmake/FindSCALAPACK.cmake b/cmake/FindSCALAPACK.cmake index 98976c2..56d7d9c 100644 --- a/cmake/FindSCALAPACK.cmake +++ b/cmake/FindSCALAPACK.cmake @@ -245,9 +245,6 @@ if(SCALAPACK_FOUND) if(BLACS_LIBRARY) list(APPEND SCALAPACK_LIBRARIES ${BLACS_LIBRARY}) endif() - if(SCALAPACK_MPI_LIB64) - list(APPEND SCALAPACK_LIBRARIES ${SCALAPACK_MPI_LIB64}) - endif() set(SCALAPACK_INCLUDE_DIRS ${SCALAPACK_INCLUDE_DIR}) @@ -258,11 +255,11 @@ Scalapack include directories: ${SCALAPACK_INCLUDE_DIRS}") add_library(SCALAPACK::SCALAPACK INTERFACE IMPORTED) set_property(TARGET SCALAPACK::SCALAPACK PROPERTY INTERFACE_LINK_LIBRARIES "${SCALAPACK_LIBRARIES}") set_property(TARGET SCALAPACK::SCALAPACK PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${SCALAPACK_INCLUDE_DIR}") - endif() - # For MKL, we don't use FindLapack, so define LAPACK::LAPACK as alias - if(MKL_FOUND) - add_library(LAPACK::LAPACK ALIAS SCALAPACK::SCALAPACK) + # For MKL, we don't use FindLapack, so define LAPACK::LAPACK as alias + if(MKL_FOUND AND NOT TARGET LAPACK::LAPACK) + add_library(LAPACK::LAPACK ALIAS SCALAPACK::SCALAPACK) + endif() endif() endif()