#!/bin/sh
set -ev

# Directories.
root_dir=`pwd`
build_dir="$root_dir/_travis/build"
install_dir="$root_dir/_travis/install"

# Shortcuts.
git_clone="git clone --quiet --recursive"

# Create layout.
rm -rf "$build_dir" "$install_dir"
mkdir -p "$build_dir"
mkdir -p "$install_dir"

# Setup environment variables.
export LD_LIBRARY_PATH="$install_dir/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="$install_dir/lib/`dpkg-architecture -qDEB_BUILD_MULTIARCH`:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="$install_dir/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="$install_dir/lib/`dpkg-architecture -qDEB_BUILD_MULTIARCH`/pkgconfig:$PKG_CONFIG_PATH"

install_dependency()
{
    echo "--> Compiling $1"
    mkdir -p "$build_dir/$1"
    cd "$build_dir"
    $git_clone "git://github.com/$1" "$1"
    cd "$build_dir/$1"
    cmake . -DCMAKE_INSTALL_PREFIX:STRING="$install_dir"
    make install
}

# Retrieve jrl-mathtools
install_dependency jrl-umi3218/jrl-mathtools
install_dependency jrl-umi3218/jrl-mal

# Compile and run tests
cd "$build_dir"
cmake "$root_dir" -DCMAKE_INSTALL_PREFIX="$install_dir"		\
		  -DCMAKE_CXX_FLAGS="--coverage"		\
		  -DCMAKE_EXE_LINKER_FLAGS="--coverage"		\
		  -DCMAKE_MODULE_LINKER_FLAGS="--coverage"	\
		  -DCMAKE_INSTALL_PREFIX:STRING="$install_dir"
make
make test
make install