Skip to content
Snippets Groups Projects
Commit 594d9b45 authored by Hörl, Maximilian's avatar Hörl, Maximilian
Browse files

add install.sh

parent 3590f884
Branches
Tags
No related merge requests found
# one click install script dune-mmdg
echo " "
echo " "
echo "*********************************************************************************************"
echo "(0/3) Checking all prerequistes. (git cmake gcc g++ paraview)"
echo "*********************************************************************************************"
# check some prerequistes
for PRGRM in git cmake gcc g++ paraview; do
if ! [ -x "$(command -v $PRGRM)" ]; then
echo "Error: $PRGRM is not installed." >&2
exit 1
fi
done
# check gcc version for C++17 support
currentver="$(gcc -dumpversion)"
requiredver="7"
if [ "$(printf '%s\n' "$requiredver" "$currentver" | sort -V | head -n1)" != "$requiredver" ]; then
echo "gcc greater than or equal to $requiredver is required!" >&2
exit 1
fi
if [ $? -ne 0 ]; then
echo "*********************************************************************************************"
echo "(0/3) An error occured while checking for prerequistes."
echo "*********************************************************************************************"
exit $?
else
echo "*********************************************************************************************"
echo "(1/3) All prerequistes found."
echo "*********************************************************************************************"
fi
echo " "
echo " "
echo "*********************************************************************************************"
echo "(1/3) Cloning repositories. This may take a while. Make sure to be connected to the internet."
echo "*********************************************************************************************"
# the core modules
for MOD in common geometry grid istl; do
if [ ! -d "dune-$MOD" ]; then
git clone https://gitlab.dune-project.org/core/dune-$MOD.git
else
echo "Skip cloning dune-$MOD because the folder already exists."
fi
done
# dune-mmesh
if [ ! -d "dune-mmesh" ]; then
git clone https://gitlab.dune-project.org/samuel.burbulla/dune-mmesh
else
echo "Skip cloning dune-mmesh because the folder already exists."
fi
# dune-mmdg
if [ ! -d "dune-mmdg" ]; then
git clone https://gitlab.mathematik.uni-stuttgart.de/hoerlmn/dune-mmdg
else
echo "Skip cloning dune-mmdg because the folder already exists."
fi
if [ $? -ne 0 ]; then
echo "*********************************************************************************************"
echo "(1/3) Failed to clone the repositories. Look for repository specific errors."
echo "*********************************************************************************************"
exit $?
else
echo "*********************************************************************************************"
echo "(2/3) All repositories have been cloned into a containing folder."
echo "*********************************************************************************************"
fi
echo " "
echo " "
echo "**************************************************************************************************"
echo "(2/3) Configure and build dune modules using dunecontrol. This may take several minutes."
echo "**************************************************************************************************"
# run dunecontrol
./dune-common/bin/dunecontrol --opts=dune-mmdg/cmake.opts all
if [ $? -ne 0 ]; then
echo "*********************************************************************************************"
echo "(2/3) Failed to build the dune libaries."
echo "*********************************************************************************************"
exit $?
else
echo "*****************************************************************************************************"
echo "(3/3) Succesfully configured and built dune."
echo " Go to dune-mmdg/README for further information."
echo "*****************************************************************************************************"
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment