#!/bin/bash

# Need Help?  Go to http://trilinos.sandia.gov/Trilinos10CMakeQuickstart.txt

# Notes on the cmake variables
#   - the -lz is for the compression library (commsplitter uses crc)
#   - MPI details are in the toolchain file

# Path to Trilinos source
TRILINOS_SRCDIR=${HOME}/research/workspace/Trilinos
TRIOS_SRCDIR=${TRILINOS_SRCDIR}/packages/trios

# Path to MPI (these environment variables should be set by modules)
MPI_HOME=${MPICH_DIR}

rm -f CMakeCache.txt

export TARGET_COMPILER=pgi

# Load the appropriate bash environment
source ${TRIOS_SRCDIR}/sampleScripts/config/cielo/loadenv.sh

TOOLCHAIN=${TRIOS_SRCDIR}/sampleScripts/config/cielo/toolchain-cnl-${TARGET_COMPILER}.cmake

INSTALL_PATH=/home/raoldfi/research/support/cnl/lib/trilinos

EXTRA_ARGS=$@

cmake \
    -D CMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
    -D CMAKE_C_COMPILER=cc \
    -D CMAKE_CXX_COMPILER=CC \
    -D CMAKE_Fortran_COMPILER=ftn \
\
    -D BUILD_SHARED_LIBS:BOOL=OFF \
    -D TPL_FIND_SHARED_LIBS:BOOL=OFF \
    -D Trilinos_LINK_SEARCH_START_STATIC:BOOL=ON \
\
    -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \
    -D Trilinos_ENABLE_TESTS:BOOL=ON \
    -D Trilinos_EXTRA_LINK_FLAGS:STRING="-lz" \
\
    -D Trilinos_ENABLE_Trios:BOOL=ON \
    -D Trilinos_ENABLE_Triossupport:BOOL=ON \
    -D Trilinos_ENABLE_Triosnnti:BOOL=ON \
    -D Trilinos_ENABLE_Trioscommsplitter:BOOL=ON \
    -D Trilinos_ENABLE_Triosnssi:BOOL=ON \
    -D Trilinos_ENABLE_Triosprograms:BOOL=ON \
    -D Trilinos_ENABLE_Triostests:BOOL=ON \
    -D Trilinos_ENABLE_Triosexamples:BOOL=ON \
\
   -D TPL_ENABLE_MPI:BOOL=ON \
   -D MPI_LIBRARY=mpich \
   -D MPI_EXEC=aprun \
   -D MPI_EXEC_NUMPROCS_FLAG:STRING="-n" \
   -D MPI_USE_COMPILER_WRAPPERS:BOOL=OFF \
\
    -D TPL_ENABLE_BLAS:STRING=ON \
    -D BLAS_LIBRARY_DIRS:FILEPATH="/opt/pgi/default/linux86-64/default/lib" \
    -D BLAS_LIBRARY_NAMES:STRING="acml" \
    -D TPL_ENABLE_LAPACK:STRING=ON \
    -D LAPACK_LIBRARY_DIRS:FILEPATH="/opt/pgi/default/linux86-64/default/lib" \
    -D LAPACK_LIBRARY_NAMES:STRING="acml" \
    -D HAVE_TEUCHOS_BLASFLOAT:BOOL=TRUE \
    -D CXX_COMPLEX_BLAS_WORKS:BOOL=TRUE \
\
    -D TPL_ENABLE_Gemini:BOOL=ON \
    -D Gemini_INCLUDE_DIRS:FILEPATH="/opt/cray/gni-headers/default/include" \
\
    -D TPL_ENABLE_PAPI:BOOL=OFF \
    -D TPL_ENABLE_HPCToolkit:BOOL=ON \
    -D HPCToolkit_INCLUDE_DIRS:FILEPATH="${HOME}/research/support/include" \
    -D HPCToolkit_LIBRARY_DIRS:FILEPATH="${HOME}/research/support/lib/hpctoolkit" \
\
    $EXTRA_ARGS \
\
    ${TRILINOS_SRCDIR}
