#!/bin/sh ERESSEA_DB=sqlite if [ -e /usr/include/db.h ] ; then ERESSEA_DB=db fi # Parse command line arguments while [ ! -z "$1" ] ; do if [ "$1" = "--with-db" ] ; then ERESSEA_DB=db elif [ "$1" = "--with-sqlite" ] ; then ERESSEA_DB=sqlite fi shift 1 done ROOT=$(git rev-parse --show-toplevel) [ -z $BUILD ] && BUILD=Debug [ -z "$CC" ] && [ ! -z `which clang` ] && CC="clang" [ -z "$CC" ] && [ ! -z `which gcc` ] && CC="gcc" [ -z "$CC" ] && [ ! -z `which tcc` ] && CC="tcc" [ -z "$CC" ] && [ ! -z `which cc` ] && CC="cc" MACHINE=`$CC -dumpmachine` [ -z $MACHINE ] && MACHINE=`uname -m` BIN_DIR="$ROOT/build-$MACHINE-$CC-$BUILD" rm -rf $BIN_DIR mkdir -p $BIN_DIR rm -f $BUILD ln -sf $BIN_DIR $BUILD # 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 DEST=$(dirname $ROOT)/server git submodule update --init LUA_VERSION="5.2" LUA_DIR=/usr if [ -d /usr/include/lua5.1 ]; then LUA_VERSION="5.1" elif [ -d /usr/local/include/lua5.1 ]; then LUA_DIR=/usr/local LUA_VERSION="5.1" fi cat >| $BUILD/config.cmake <> $BUILD/config.cmake path="$(which tolua)" if [ "$HAVE_TOLUA" = "0" ] || [ -z $path ] ; then echo "tolua is not installed, building from source" cd $ROOT if [ ! -d tolua ]; then echo "fetching tolua ${LUA_VERSION} from github..." git clone https://github.com/ennorehling/tolua-${LUA_VERSION}.git tolua fi echo "building tolua..." cd tolua make echo 'SET(PC_TOLUA_DIR "$ROOT/tolua" CACHE PATH "tolua root")' >> $BUILD/config.cmake else echo "tolua is $path" fi unset path set -e cd $BIN_DIR cmake -C config.cmake .. $* cd $OLDPWD