#!/bin/bash

trilinos_src_dir=${TRILINOS_DIR:-${PWD}/../Trilinos}
build_dir=${BUILD_DIR:-${PWD}}
build_type=${CMAKE_BUILD_TYPE:-release}
trilinos_install_dir=${TRILINOS_INSTALL_DIR:-${PWD}/../trilinos_install_dir}
cmake_cxx_flags=${CMAKE_CXX_FLAGS}
clear_cache=${CLEAR_CACHE:-ON}

printf "\nTRILINOS_DIR=${trilinos_src_dir}\n";
printf "BUILD_DIR=${build_dir}\n";
printf "CMAKE_BUILD_TYPE=${build_type}\n";
printf "CMAKE_CXX_FLAGS=${cmake_cxx_flags}\n";
printf "TRILINOS_INSTALL_DIR=${trilinos_install_dir}\n";
printf "\nTo change these vars, set as env vars or pass to this script like 'VAR=value run_cmake_stk_serial'\n\n";

mkdir -p $trilinos_install_dir
mkdir -p $build_dir

cd ${build_dir}

if [ "${clear_cache}" == "ON" ] ; then
# Cleanup old cache before we configure
  rm -rf CMakeFiles CMakeCache.txt
fi

rm -rf CMakeFiles CMakeCache.txt

cmake \
-DCMAKE_INSTALL_PREFIX=$trilinos_install_dir \
-DCMAKE_BUILD_TYPE=${build_type} \
-DCMAKE_C_COMPILER=${OMPI_CC} \
-DCMAKE_CXX_STANDARD:STRING=17 \
-DCMAKE_CXX_COMPILER=${OMPI_CXX} \
-DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF \
-DTrilinos_ALLOW_NO_PACKAGES:BOOL=OFF \
-DTPL_ENABLE_MPI=OFF \
-DCMAKE_CXX_FLAGS:STRING="${cmake_cxx_flags}" \
-DSTK_ENABLE_TESTS:BOOL=ON \
-DTrilinos_ENABLE_STK:BOOL=ON \
-DTrilinos_ENABLE_STKUnit_tests:BOOL=ON \
-DTrilinos_ENABLE_STKDoc_tests:BOOL=ON \
-DTrilinos_ASSERT_MISSING_PACKAGES=OFF \
${trilinos_src_dir}/

