#!/bin/bash
# stop when sth failed
set -e
PREFIX=""
CMAKEOPTIONS="-DDO_RELEASE_BUILD=ON"
function printUsageAndExit {
echo -e "Usage\n" \
" Options:\n" \
" -m T Set mac arch (\"i386;ppc\" for universal binary)\n" \
" -p T Set prefix to T.\n" \
" -t Update translation files (*.ts).\n" \
" -v Verbose compilation.\n" \
" -h Print this help message.\n"
exit 0
}
# Ensures cmake exists.
function findCMake {
if [ -z $(which cmake) ]
then
echo "ERROR: cmake not installed"
exit 1
fi
}
findCMake
# Get options.
while getopts "m:p:t:h:v" option
do
case $option in
m) CMAKEOPTIONS="$CMAKEOPTIONS -DCMAKE_OSX_ARCHITECTURES=$OPTARG";;
p) PREFIX="$OPTARG";;
t) CMAKEOPTIONS="$CMAKEOPTIONS -DUPDATE_TRANSLATIONS=ON";;
v) CMAKEOPTIONS="$CMAKEOPTIONS -DCMAKE_VERBOSE_MAKEFILE=TRUE";;
h) printUsageAndExit ;;
esac
done
# Cmake defaults CMAKE_INSTALL_PREFIX=/usr/local.
# This is not good for debian, so try to detect debian/ubuntu.
if [ `uname` == 'Linux' ]
then
if grep -q -s -i -E -e 'ubuntu|debian' /etc/issue
then
PREFIX=/usr
fi
fi
echo "Prefix: $PREFIX"
# If we have a prefix...
if [ -n "$PREFIX" ]
then
#...define the prefix.
CMAKEOPTIONS="$CMAKEOPTIONS -DCMAKE_INSTALL_PREFIX=$PREFIX"
fi
echo "CMAKEOPTIONS: $CMAKEOPTIONS"
# Create dir only if needed
mkdir -p build
# Do all the building in build/
cd build/
cmake $CMAKEOPTIONS ../
# Tell the user what to do (if everything went well...)
echo ""
echo ""
echo -e "\tNow, cd to build/ and run \"make\""
echo ""