#!/bin/sh

echo "Ich versuche nun das Framework herunterzuladen, zu kompilieren und in dem entsprechenden Framework-Ordner zu installieren."
echo "Die Installation erfolgt nur lokal in ../framework."
echo "Die alten include-Dateien werden nach include_windows kopiert."
echo "Damit das funktioniert, müssen folgende Pakete unbedingt installiert sein:"
echo " * GLEW-Entwicklungsdateien (Debian/Ubuntu: libglew-dev, Redhat/Fedora: glew-devel)"
echo " * ZLib-Entwicklungsdateien (Debian/Ubuntu: zlib-dev, Redhat/Fedora: zlib-devel)"
echo " * JPEG-Entwicklungsdateien (Debian/Ubuntu: libjpeg-dev, Redhat/Fedora: libjpeg-turbo-devel)"
echo " * XI-Entwicklungsdateien (Debian/Ubuntu: libxi-dev, Redhat/Fedora: libXi-devel)"
echo "Zum Bauen des Frameworks wird außerdem benötigt:"
echo " * Git"
echo " * Ein C++-Compiler inklusive Standardbibliotheken"
echo " * CMake"
echo "Wenn irgendwas davon fehlt, dann wird das Kompilieren fehl schlagen."
echo "Wenn Du alles richtig gemacht hast, aber trotzdem das Kompilieren nicht klappt, dann schreibe am besten"
echo "eine E-Mail an deinen Betreuer."
while true; do
    read -p "Soll ich fortfahren [j/n]? " yn
    case $yn in
        [Jj]* ) break;;
        [Nn]* ) echo "Dann eben nicht."; exit;;
        * ) echo "Bitte mit j oder n antworten.";;
    esac
done

git clone "https://github.com/sgumhold/cgv.git"

#Backup the old includes
mv include include_windows

# Neuen Ordner zum Kompilieren erstellen
mkdir cgv-build
cd cgv-build
# Mittels CMake Unix-Makefiles erzeugen
cmake -DBUILD_SHARED_LIBS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../.. ../cgv
# Makefiles kompilieren
make -j7
# Alten framework Ordner löschen
#rm -r ../framework

# Alles zusammenkopieren
make install
cd ..

# Aufraeumen
rm -r -f cgv
rm -r -f cgv-build
