#!/bin/sh set -e ROOT=$(pwd) while [ ! -d $ROOT/.git ]; do ROOT=$(dirname $ROOT) if [ "$ROOT" == "/" ; then echo "could not find root, are you in the git repository?" exit fi done [ -z $BUILD ] && BUILD=Debug MACHINE=`uname -m` [ -z "$CC" ] && [ ! -z `which gcc` ] && CC="clang" [ -z "$CC" ] && [ ! -z `which gcc` ] && CC="gcc" [ -z "$CC" ] && [ ! -z `which tcc` ] && CC="tcc" [ -z "$CC" ] && [ ! -z `which cc` ] && CC="cc" BIN_DIR="$ROOT/build-$MACHINE-$CC-$BUILD" mkdir -p $BIN_DIR ln -sf $BIN_DIR $BUILD MACHINE=$(gcc -dumpmachine) rm -f CMakeCache.txt # use anything installed in /opt or /usr LIBRARY_PATH=/opt/lib:/opt/lib/$MACHINE:/usr/lib/$MACHINE INCLUDE_PATH=/opt/include:/usr/include PREFIX_PATH=/opt # I like to put stuff in ~/usr if I don't have permission to install packages on the machine: if [ -d $HOME/usr ]; then LIBRARY_PATH=$HOME/usr/lib:$HOME/usr/lib/$MACHINE:$LIBRARY_PATH INCLUDE_PATH=$HOME/usr/include:$HOME/usr/include/$MACHINE:$INCLUDE_PATH PREFIX_PATH=$HOME/usr:$HOME/usr/local:$PREFIX_PATH fi path=`which tolua` echo "TOLUA $path" if [ "$HAVE_TOLUA" = "0" ] || [ ! -e $path ]; then echo "tolua is not installed, building from source" cd $ROOT/tolua ; make ARGS="$ARGS -DPC_TOLUA_DIR=$ROOT/tolua" fi path=`which lua` if [ -e $path ]; then path=`dirname $path` # /opt/bin path=`dirname $path` # /opt if [ -e $path/include/lua.h ] && [ -d $path/lib ] ; then echo "lua is installed in $path" ARGS="$ARGS -DPC_LUA_DIR=$LUA" fi fi cd $BIN_DIR cmake .. \ $ARGS \ -DCMAKE_MODULE_PATH=$ROOT/cmake/Modules \ -DCMAKE_BUILD_TYPE=$BUILD \ -DCMAKE_LIBRARY_PATH=$LIBRARY_PATH \ -DCMAKE_INCLUDE_PATH=$INCLUDE_PATH \ -DCMAKE_PREFIX_PATH=$PREFIX_PATH \ -DCMAKE_INSTALL_PREFIX=$HOME/eressea/server $* cd $OLDPWD