39 lines
1.4 KiB
CMake
39 lines
1.4 KiB
CMake
find_package(PkgConfig)
|
|
|
|
set(OLD_PKG $ENV{PKG_CONFIG_PATH})
|
|
set(ENV{PKG_CONFIG_PATH} $ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/pkgconfig)
|
|
pkg_check_modules(ISTL dune-istl)
|
|
set(ENV{PKG_CONFIG_PATH} ${OLD_PKG})
|
|
|
|
list(APPEND ISTL_DEFINITIONS -DHAVE_NULLPTR=1 -DISTL_VERSION="${ISTL_VERSION}")
|
|
string(REPLACE "." ";" VERSION_LIST "${ISTL_VERSION}")
|
|
if(VERSION_LIST)
|
|
list(GET VERSION_LIST 0 DUNE_ISTL_VERSION_MAJOR)
|
|
list(GET VERSION_LIST 1 DUNE_ISTL_VERSION_MINOR)
|
|
list(GET VERSION_LIST 2 DUNE_ISTL_VERSION_PATCH)
|
|
list(APPEND ISTL_DEFINITIONS -DDUNE_ISTL_VERSION_MAJOR=${DUNE_ISTL_VERSION_MAJOR}
|
|
-DDUNE_ISTL_VERSION_MINOR=${DUNE_ISTL_VERSION_MINOR}
|
|
-DDUNE_ISTL_VERSION_REVISION=${DUNE_ISTL_VERSION_PATCH})
|
|
endif()
|
|
|
|
if(SUPERLU_FOUND)
|
|
list(APPEND ISTL_DEFINITIONS -DHAVE_SUPERLU=1 -DSUPERLU_POST_2005_VERSION=1 -DSUPERLU_NTYPE=1 -DSUPERLU_MIN_VERSION_4_3=1)
|
|
endif()
|
|
|
|
if(IFEM_USE_UMFPACK)
|
|
find_package(SuiteSparse COMPONENTS umfpack)
|
|
endif()
|
|
|
|
if(SuiteSparse_UMFPACK_FOUND)
|
|
list(APPEND ISTL_DEFINITIONS -DHAVE_UMFPACK=1)
|
|
list(APPEND ISTL_INCLUDE_DIRS ${UMFPACK_INCLUDE_DIR})
|
|
list(APPEND ISTL_LIBRARIES ${UMFPACK_LIBRARY})
|
|
endif()
|
|
|
|
|
|
list(APPEND ISTL_INCLUDE_DIRS ${ISTL_INCLUDEDIR})
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(ISTL DEFAULT_MSG
|
|
ISTL_INCLUDE_DIRS ISTL_LIBRARIES)
|