#!/usr/bin/env modbuild

SOURCE_URL="http://trilinos.csbsju.edu/download/files/trilinos-$V-Source.tar.bz2"

declare -rx AR=ar

pbuild::configure() {
	BLAS_PREFIX=$OPENBLAS_PREFIX
	LAPACK_PREFIX=$OPENBLAS_PREFIX

	PARMETIS_INCLUDE_DIRS=$PARMETIS_PREFIX/include
	PARMETIS_LIBRARIES=$PARMETIS_PREFIX/lib/libparmetis.a

	METIS_INCLUDE_DIRS=$PARMETIS_PREFIX/include/metis
	METIS_LIBRARIES=$PARMETIS_PREFIX/lib/libmetis.a

	BLAS_INCLUDE_DIRS="$BLAS_PREFIX/include"
	BLAS_LIBRARY_DIRS="$BLAS_PREFIX/lib"
	BLAS_LIBRARY_NAMES="openblas"

	LAPACK_INCLUDE_DIRS="$LAPACK_PREFIX/include"
	LAPACK_LIBRARY_DIRS="$LAPACK_PREFIX/lib"
	LAPACK_LIBRARY_NAMES="openblas"

	cmake \
           --prefix=$PREFIX \
           -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX \
           -DCMAKE_CXX_FLAGS:STRING="-DMPICH_IGNORE_CXX_SEEK -fPIC" \
           -DCMAKE_C_FLAGS:STRING="-DMPICH_IGNORE_CXX_SEEK -fPIC" \
	   -D CMAKE_CXX_STANDARD:STRING="11" \
           -DCMAKE_Fortran_FLAGS:STRING="-fPIC" \
           -D CMAKE_BUILD_TYPE:STRING=DEBUG \
           -D TPL_ENABLE_DLlib:BOOL=OFF \
           -D TPL_ENABLE_QT:BOOL=OFF \
           -D TPL_ENABLE_MPI:BOOL=ON \
           -D TPL_ENABLE_BLAS:BOOL=ON \
           -D TPL_ENABLE_LAPACK:BOOL=ON \
           -D TPL_ENABLE_METIS:BOOL=ON \
           -D TPL_ENABLE_ParMETIS:BOOL=ON \
           -D BLAS_LIBRARY_DIRS:PATH="$BLAS_LIBRARY_DIRS" \
           -D BLAS_INCLUDE_DIRS:PATH="$BLAS_LIBRARY_DIRS" \
           -D BLAS_LIBRARY_NAMES:STRING="$BLAS_LIBRARY_NAMES" \
           -D LAPACK_LIBRARY_DIRS:PATH="$LAPACK_LIBRARY_DIRS" \
           -D LAPACK_INCLUDE_DIRS:PATH="$LAPACK_INCLUDE_DIRS" \
           -D LAPACK_LIBRARY_NAMES:STRING="$LAPACK_LIBRARY_NAMES" \
           -D TPL_METIS_INCLUDE_DIRS:PATH=$METIS_INCLUDE_DIRS \
           -D TPL_METIS_LIBRARIES:PATH=$METIS_LIBRARIES \
           -D TPL_ParMETIS_INCLUDE_DIRS:PATH=$PARMETIS_INCLUDE_DIRS \
           -D TPL_ParMETIS_LIBRARIES:PATH=$PARMETIS_LIBRARIES \
           -D Trilinos_ENABLE_Amesos:BOOL=ON \
           -D Trilinos_ENABLE_Amesos2:BOOL=ON \
           -D Trilinos_ENABLE_AztecOO:BOOL=ON \
           -D Trilinos_ENABLE_Belos:BOOL=ON \
           -D Trilinos_ENABLE_Epetra:BOOL=ON \
           -D Trilinos_ENABLE_EpetraExt:BOOL=ON \
           -D Trilinos_ENABLE_Galeri:BOOL=ON \
           -D Trilinos_ENABLE_Ifpack:BOOL=ON \
           -D Trilinos_ENABLE_Isorropia:BOOL=ON \
           -D Trilinos_ENABLE_ML:BOOL=ON \
           -D Trilinos_ENABLE_NOX:BOOL=ON \
           -D Trilinos_ENABLE_Optika:BOOL=OFF \
           -D Trilinos_ENABLE_Teuchos:BOOL=ON \
           -D Trilinos_ENABLE_Tpetra:BOOL=ON \
           -D Trilinos_ENABLE_TESTS:BOOL=OFF \
           "${MODULE_SRCDIR}" || exit 1
}

pbuild::add_to_group 'MPI'
pbuild::set_docfiles Copyright.txt LICENSE README RELEASE_NOTES
pbuild::make_all

