aboutsummaryrefslogtreecommitdiffstats
path: root/math/deal.ii/Makefile
blob: 791b370545cb44ed5a905a3437d7b7bb0b2d37e1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# $FreeBSD$

PORTNAME=   deal.II
DISTVERSIONPREFIX=  v
DISTVERSION=    9.0.0
PORTREVISION=   1
CATEGORIES= math devel

MAINTAINER= yuri@FreeBSD.org
COMMENT=    Finite element Differential Equations Analysis Library (DEAL)

LICENSE=    GPLv2
LICENSE_FILE=   ${WRKSRC}/LICENSE

LIB_DEPENDS=    libgsl.so:math/gsl \
        libhdf5.so:science/hdf5 \
        libmetis.so:math/metis \
        libsundials_arkode.so:math/sundials \
        libtbb.so:devel/tbb

USES=       cmake:outsource compiler:c++17-lang localbase:ldflags
USE_GITHUB= yes
GH_ACCOUNT= ${PORTNAME:tl:S/.//}
GH_PROJECT= ${PORTNAME:tl:S/.//}
USE_LDCONFIG=   yes

CMAKE_OFF=  DEAL_II_ALLOW_BUNDLED DEAL_II_COMPONENT_EXAMPLES \
        DEAL_II_WITH_P4EST DEAL_II_WITH_TRILINOS DEAL_II_WITH_UMFPACK DEAL_II_WITH_SLEPC \
        DEAL_II_WITH_NANOFLANN DEAL_II_WITH_MUPARSER DEAL_II_WITH_ASSIMP DEAL_II_WITH_ARPACK \
        DEAL_II_WITH_ADOLC DEAL_II_WITH_SUNDIALS DEAL_II_WITH_HDF5

OPTIONS_DEFINE=     LAPACK MPI NETCDF OPENCASCADE PETSC SCALAPACK
OPTIONS_DEFAULT=    MPI

LAPACK_DESC=        Build with LAPACK for matrix operations
LAPACK_USES=        fortran
LAPACK_CMAKE_BOOL=  DEAL_II_WITH_LAPACK
LAPACK_LIB_DEPENDS= libblas.so:math/blas \
            liblapack.so:math/lapack
LAPACK_BROKEN=      can't find lapack library

MPI_USES=       fortran
MPI_CMAKE_BOOL=     DEAL_II_WITH_MPI
MPI_LIB_DEPENDS=    libboost_iostreams.so:devel/boost-libs \
            libmpi.so:net/openmpi

NETCDF_DESC=        Compile with Netcdf (only with MPI)
NETCDF_CMAKE_BOOL=  DEAL_II_WITH_NETCDF
NETCDF_CMAKE_ON=    -DNETCDF_INCLUDE_DIR:STRING=${LOCALBASE}/include -DNETCDF_CPLUSPLUS_LIBRARY:STRING=${LOCALBASE}/lib/libnetcdf_c++4.so
NETCDF_BROKEN=      see https://github.com/dealii/dealii/issues/7263

OPENCASCADE_DESC=   Build with OpenCascade
OPENCASCADE_CMAKE_BOOL= DEAL_II_WITH_OPENCASCADE
OPENCASCADE_CMAKE_ON=   -DOPENCASCADE_INCLUDE_DIR:STRING=${LOCALBASE}/include/OpenCASCADE
OPENCASCADE_LIB_DEPENDS=    libTKernel.so:cad/opencascade

PETSC_DESC=     Compile with Petsc (only with MPI)
PETSC_CMAKE_BOOL=   DEAL_II_WITH_PETSC
PETSC_LIB_DEPENDS=  libpetsc.so:science/PETSc
PETSC_BROKEN=       see https://github.com/dealii/dealii/issues/7260

SCALAPACK_DESC=     Compile with ScaLAPACK (only with MPI)
SCALAPACK_CMAKE_BOOL=   DEAL_II_WITH_SCALAPACK
SCALAPACK_IMPLIES=  MPI LAPACK

.include <bsd.port.mk>