#!/bin/bash

build_dir=${BUILD_DIR:-${PWD}}
build_type=${CMAKE_BUILD_TYPE:-release}
stk_src_dir=${STK_SRC_DIR:-${PWD}/../stk}
stk_install_dir=${STK_INSTALL_DIR:-${PWD}/../stk_install_dir}
cmake_cxx_flags=${CMAKE_CXX_FLAGS}
clear_cache=${CLEAR_CACHE:-ON}

printf "BUILD_DIR=${build_dir}\n";
printf "CMAKE_BUILD_TYPE=${build_type}\n";
printf "CMAKE_CXX_FLAGS=${cmake_cxx_flags}\n";
printf "STK_SRC_DIR=${stk_src_dir}\n";
printf "STK_INSTALL_DIR=${stk_install_dir}\n";
printf "\nTo change these vars, set as env vars or pass to this script like this: 'VAR=value run_cmake'\n\n";

# before running this script, load these modules:
# module load aue/cmake/3.27.7
# module load aue/gcc/12.3.0

mkdir -p $build_dir

cd ${build_dir}

if [ "${clear_cache}" == "ON" ] ; then
  rm -rf stk_* STK_Trilinos_config.h Makefile cmake_install.cmake C*
fi

printf "calling cmake from run_cmake_stk_standalone_serial, stk_src_dir='${stk_src_dir}'...\n\n"

cmake \
-DCMAKE_INSTALL_PREFIX=${stk_install_dir} \
-DCMAKE_BUILD_TYPE=${build_type} \
-DCMAKE_CXX_STANDARD:STRING=17 \
-DCMAKE_CXX_COMPILER=${OMPI_CXX} \
-DCMAKE_CXX_FLAGS:STRING="${cmake_cxx_flags}" \
-DSTK_ENABLE_ALL=ON \
-DSTK_ENABLE_ARBORX=OFF \
-DSTK_ENABLE_MPI:BOOL=OFF \
-DSTK_ENABLE_STKMiddle_mesh=OFF \
-DSTK_ENABLE_STKMiddle_mesh_util=OFF \
-DSTK_ENABLE_TESTS:BOOL=ON \
-DKokkos_DIR=/fgs/william/kokkos/install/lib64/cmake/Kokkos \
-DGTest_DIR=/fgs/william/googletest/install/lib64/cmake/GTest \
${stk_src_dir}/

