1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 CMAKE_MAKEFILE_GENERATOR="emake"
8 FORTRAN_STANDARD="77 90"
9 # if FFLAGS and FCFLAGS are set then should be equal
11 inherit cmake fortran-2 toolchain-funcs
13 DESCRIPTION="Suite of nonlinear solvers"
14 HOMEPAGE="https://computation.llnl.gov/projects/sundials"
15 SRC_URI="https://computation.llnl.gov/projects/sundials/download/${P}.tar.gz"
19 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
20 IUSE="cxx doc examples fortran hypre lapack mpi openmp sparse static-libs superlumt threads"
21 REQUIRED_USE="hypre? ( mpi )"
23 BDEPEND="virtual/pkgconfig"
25 lapack? ( virtual/lapack )
26 mpi? ( virtual/mpi sci-libs/hypre:= )
27 sparse? ( sci-libs/klu )
28 superlumt? ( sci-libs/superlu_mt:= )
32 PATCHES=( "${FILESDIR}"/${P}-fix-license-install-path.patch )
35 if [[ ${MERGE_TYPE} != binary ]] && use openmp && [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
36 ewarn "OpenMP is not available in your current selected gcc"
37 die "need openmp capable gcc"
43 -DBUILD_SHARED_LIBS=ON
44 -DBUILD_STATIC_LIBS="$(usex static-libs)"
45 -DCXX_ENABLE="$(usex cxx)"
46 -DFCMIX_ENABLE="$(usex fortran)"
47 -DF90_ENABLE="$(usex fortran)"
48 -DHYPRE_ENABLE="$(usex hypre)"
49 -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
50 -DKLU_ENABLE="$(usex sparse)"
51 -DLAPACK_ENABLE="$(usex lapack)"
52 -DMPI_ENABLE="$(usex mpi)"
53 -DOPENMP_ENABLE="$(usex openmp)"
54 -DPTHREAD_ENABLE="$(usex threads)"
55 -DSUPERLUMT_ENABLE="$(usex superlumt)"
56 -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
57 -DSUPERLUMT_LIBRARY="-lsuperlu_mt"
58 -DEXAMPLES_ENABLE="$(usex examples)"
60 -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
63 use sparse && mycmakeargs+=( -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so" )
69 use doc && dodoc doc/*/*.pdf