#! /bin/sh
# This script will build DesktopNova in a seperate dir called "build" and
# install it temporarily in "build/install"
#
# See README Section "Source from Bazaar-Branch" for more details.

BUILDDIR="build"
INSTALLDIR="install"
unset VERBOSE

display_usage ()
{
	echo "Usage:
  ./localbuild                  display usage
  ./localbuild build            complete build (with clean)
  ./localbuild build-verbose    like build, but verbose
  ./localbuild rebuild          rebuild (without clean)
  ./localbuild clean            remove build/"
}

build ()
{
	clean
	mkdir "$BUILDDIR/" && cd "$BUILDDIR/" && cmake -Wdev \
	  -D "CMAKE_INSTALL_PREFIX:STRING=$PWD/$INSTALLDIR" \
	  -D "CMAKE_BUILD_TYPE:STRING=Debug" \
	  -D "CMAKE_C_FLAGS_DEBUG:STRING=-g -Wall -Werror" \
	  -D "RELEASE_BUILD=0" \
	  $VERBOSE .. \
	  && make install
}

rebuild ()
{
	cd "$BUILDDIR/" && rm -rf "$INSTALLDIR/" && cmake -Wdev .. > /dev/null && \
	  make install > /dev/null
}

clean ()
{
	rm -rf "$BUILDDIR/"
}


if [ "$1" = "build" ]; then
	build
	exit $?
fi

if [ "$1" = "build-verbose" ]; then
	VERBOSE='-D CMAKE_VERBOSE_MAKEFILE:BOOL=ON'
	build
	exit $?
fi

if [ "$1" = "rebuild" ]; then
	rebuild
	exit $?
fi

if [ "$1" = "clean" ]; then
	clean
	exit $?
fi

display_usage
