#!/bin/bash
######################################################################
# ugbash
#-------------------------------------------------------------------
# created by Martin Rupp 01.07.2014
# mail: martin.rupp@gcsc.uni-frankfurt.de
#
# call this file instead of cmake .. when configuring on a cluster
# it will automatically call cmake with the right toolchain
# it can also be used to check compiler modules etc.
# see also ugconfig.
######################################################################

scriptpath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

if [ -z "$UGSUBMIT_TYPE" ]; then
	source $scriptpath/clusterdetect
	echo "ugcmake-start: Configuring your bash environment... Your auto-detected cluster is $UGSUBMIT_TYPE."
else	
	echo "ugcmake-start: Configuring your bash environment... UGSUBMIT_TYPE=$UGSUBMIT_TYPE."
fi
	

if [ $UGSUBMIT_TYPE == "Hermit" ] || [ $UGSUBMIT_TYPE == "Hazelhen" ] || [ $UGSUBMIT_TYPE == "Hornet" ]; then
	echo "ugcmake-start: on $UGSUBMIT_TYPE. calling cmake with toolchain file."
	echo "               Toolchain file: -DCMAKE_TOOLCHAIN_FILE=$UG4_ROOT/ugcore/cmake/toolchain/hermit.cmake"
	echo "ugcmake-start: also make sure LAPACK and BLAS modules are loaded (see also ugconfig)"
	echo "ugcmake-start: Listing Modules:"
	module list		
	echo "ugcmake-start: cmake -DCMAKE_TOOLCHAIN_FILE=$UG4_ROOT/ugcore/cmake/toolchain/hermit.cmake $*"
	echo ""
	cmake -DCMAKE_TOOLCHAIN_FILE=$UG4_ROOT/ugcore/cmake/toolchain/hermit.cmake $*
			
elif [ $UGSUBMIT_TYPE == "cekon" ]; then
	echo "ugcmake-start: on Cekon: normal cmake."
	echo "ugcmake-start: cmake $*"
	echo ""
	cmake $*
	
elif [ $UGSUBMIT_TYPE == "cesari" ]; then
	echo "ugcmake-start: on Cesari: normal cmake."
	echo "ugcmake-start: cmake $*"
	echo ""
	cmake $*
			
elif [[ $UGSUBMIT_TYPE == "Juqueen" ]]; then
	echo "ugcmake-start: on Juqueen. calling cmake with:"
	echo "               Toolchain file: -DCMAKE_TOOLCHAIN_FILE=$UG4_ROOT/ugcore/cmake/toolchain/juqueen.cmake"
	echo "               Static Build: -DSTATIC_BUILD=ON"
	echo "ugcmake-start: also make sure LAPACK and cmake modules are loaded (see also ugconfig)"
	echo "ugcmake-start: cmake -DSTATIC_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=$UG4_ROOT/ugcore/cmake/toolchain/juqueen.cmake $*"
	echo ""
	cmake -DSTATIC_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=$UG4_ROOT/ugcore/cmake/toolchain/juqueen.cmake $*
	
elif [[ $UGSUBMIT_TYPE == "Jureca" ]]; then
	echo "ugcmake-start: On Jureca. Calling cmake with:"
	echo "               Toolchain file: -DCMAKE_TOOLCHAIN_FILE=$UG4_ROOT/ugcore/cmake/toolchain/jureca.cmake"
	echo "ugcmake-start: Also make sure compilers, LAPACK and cmake modules are loaded (see also ugconfig)."
	echo "ugcmake-start: cmake -DCMAKE_TOOLCHAIN_FILE=$UG4_ROOT/ugcore/cmake/toolchain/jureca.cmake $*"
	echo ""
	cmake -DCMAKE_TOOLCHAIN_FILE=$UG4_ROOT/ugcore/cmake/toolchain/jureca.cmake $*
	
elif [[ $UGSUBMIT_MORE == "Apple" && $UGSUBMIT_TYPE == "mpi" ]]; then
	echo "ugcmake-start: on Apple: cmake $*"
	echo ""
	cmake $*

elif [[ $$UGSUBMIT_TYPE == "mpi" ]]; then
	echo "ugcmake-start: cmake $*"
	echo ""
	cmake $*
	
else
    #echo $HOSTNAME
	echo "ugcmake-start: cluster could not be auto-detected or is not known. please set UGSUBMIT_TYPE."
	exit
fi   	

