#! /usr/bin/env bash

#configure script for creating a tarball on
#trilinos-test

EXTRA_ARGS=$@

PROJECT_NAME=Trilinos
SOURCE_DIR=../$PROJECT_NAME

if [[ -z $TRILINOS_RELEASE_ENV ]]; then
  echo "Trilinos release environment not properly loaded."
fi

module list

which cmake
cmake --version

which python
python -V

rm -fr CMakeCache.txt CMakeFiles/

#fake a dakota for configuring
#this is a horrible horrible hack that is 
#both sick AND wrong, but here we are.
DAKOTA_DIR=$SOURCE_DIR/packages/TriKota/Dakota
mkdir $DAKOTA_DIR
mkdir $DAKOTA_DIR/src
touch $DAKOTA_DIR/src/CMakeLists.txt
echo "add_subdirectory(src)" > $DAKOTA_DIR/CMakeLists.txt

cmake \
-DTrilinos_ENABLE_CPACK_PACKAGING=ON \
-D TPL_ENABLE_MPI=ON \
  -D MPI_BASE_DIR:PATH=$SEMS_OPENMPI_ROOT \
-D CMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
-D BUILD_SHARED_LIBS=ON \
 \
-DTrilinos_ENABLE_Amesos=ON \
-DTrilinos_ENABLE_Amesos2=ON \
-DTrilinos_ENABLE_Anasazi=ON \
-DTrilinos_ENABLE_AztecOO=ON \
-DTrilinos_ENABLE_Belos=ON \
-DTrilinos_ENABLE_CTrilinos=ON \
-DTrilinos_ENABLE_Didasko=ON \
-DTrilinos_ENABLE_Domi=ON \
-DTrilinos_ENABLE_Epetra=ON \
-DTrilinos_ENABLE_EpetraExt=ON \
-DTrilinos_ENABLE_FEI=ON \
-DTrilinos_ENABLE_ForTrilinos=ON \
-DTrilinos_ENABLE_Galeri=ON \
-DTrilinos_ENABLE_GlobiPack=ON \
-DTrilinos_ENABLE_Ifpack=ON \
-DTrilinos_ENABLE_Ifpack2=ON \
-DTrilinos_ENABLE_Intrepid=ON \
-DTrilinos_ENABLE_Intrepid2=OFF \
-DTrilinos_ENABLE_Isorropia=ON \
-DTrilinos_ENABLE_Kokkos=ON \
-DTrilinos_ENABLE_Komplex=ON \
-DTrilinos_ENABLE_Mesquite=ON \
-DTrilinos_ENABLE_ML=ON \
-DTrilinos_ENABLE_Moertel=ON \
-DTrilinos_ENABLE_MOOCHO=ON \
-DTrilinos_ENABLE_NOX=ON \
-DTrilinos_ENABLE_Optika=ON \
-DTrilinos_ENABLE_OptiPack=ON \
-DTrilinos_ENABLE_Pamgen=ON \
-DTrilinos_ENABLE_Phalanx=ON \
-DTrilinos_ENABLE_Pike=ON \
-DTrilinos_ENABLE_Piro=ON \
-DTrilinos_ENABLE_Pliris=ON \
-DTrilinos_ENABLE_PyTrilinos=ON \
  -DPyTrilinos_DOCSTRINGS=OFF \
-DTrilinos_ENABLE_ROL=ON \
-DTrilinos_ENABLE_RTOp=ON \
-DTrilinos_ENABLE_Rythmos=ON \
-DTrilinos_ENABLE_Sacado=ON \
-DTrilinos_ENABLE_SEACAS=ON \
-DTrilinos_ENABLE_Shards=ON \
-DTrilinos_ENABLE_STK=ON \
-DTrilinos_ENABLE_Stokhos=ON \
-DTrilinos_ENABLE_Stratimikos=ON \
-DTrilinos_ENABLE_Sundance=ON \
-DTrilinos_ENABLE_Teko=ON \
-DTrilinos_ENABLE_Teuchos=ON \
-DTrilinos_ENABLE_Thyra=ON \
-DTrilinos_ENABLE_Tpetra=ON \
-DTrilinos_ENABLE_TriKota=ON \
-DTrilinos_ENABLE_TrilinosCouplings=ON \
-DTrilinos_ENABLE_Trios=ON \
-DTrilinos_ENABLE_Triutils=ON \
-DTrilinos_ENABLE_Zoltan=ON \
-DTrilinos_ENABLE_Zoltan2=ON \
-DTrilinos_ENABLE_Xpetra=ON \
-DTrilinos_ENABLE_ShyLU=ON \
-DTrilinos_ENABLE_Gtest=ON \
 \
-DTPL_ENABLE_MATLAB=OFF \
-DTPL_ENABLE_Matio=OFF \
-DTPL_ENABLE_GLM=OFF \
 \
-DNetcdf_INCLUDE_DIRS=$SEMS_NETCDF_INCLUDE_PATH \
-DNetcdf_LIBRARY_DIRS=$SEMS_NETCDF_LIBRARY_PATH \
-DBoost_INCLUDE_DIRS=$SEMS_BOOST_INCLUDE_PATH \
-DBoostLib_INCLUDE_DIRS=$SEMS_BOOST_INCLUDE_PATH \
-DBoostLib_LIBRARY_DIRS=$SEMS_BOOST_LIBRARY_PATH \
-DPythonInterp_FIND_VERSION=2.7 \
 \
-D TriKota_ENABLE_DakotaCMake=ON \
 \
$EXTRA_ARGS \
$SOURCE_DIR

config_error=$?

#remove the faked dakota
rm -r $DAKOTA_DIR


#generate the tarball if configure succeeded
if [ $config_error == 0 ]; then
  make package_source
else
  echo "Configure failed no tarballs created."
fi

