#!/bin/sh ROOT=$(git rev-parse --show-toplevel) [ -z "$BUILD" ] && BUILD=Debug if [ -z "$JOBS" ] ; then if [ -e /usr/sbin/sysctl ]; then JOBS=`sysctl -n hw.ncpu` else JOBS=`nproc` fi fi DISTCC=`which distcc` if [ ! -z "$DISTCC" ] ; then JOBS=`distcc -j` if [ -z "$JOBS" ] ; then JOBS=1 elif [ $JOBS -gt 1 ] ; then [ -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" CC="$DISTCC $CC" MAKEOPTS=-j$JOBS fi fi echo "Building with $JOBS jobs" if [ ! -d $ROOT/$BUILD ]; then echo "cannot find build directory $BUILD in $ROOT. did you run cmake-init?" exit fi echo "build eressea" CMAKE_ARGS=".." cd $ROOT/$BUILD BRANCH=$(git status -s -b | head -1 | cut -d\ -f 2 | sed 's/\..*//') if [ "$BRANCH" = "master" ] ; then VERSION=$(git describe --match 'v*.*.*' --tags | sed 's/^v//') echo "$BRANCH $VERSION" CMAKE_ARGS="-DERESSEA_VERSION:STRING=$VERSION ${CMAKE_ARGS}" else REV=$(git rev-parse --short HEAD) CMAKE_ARGS="-DERESSEA_BUILDNO:STRING=$REV $CMAKE_ARGS" fi cmake ${CMAKE_ARGS} make $MAKEOPTS && make test cd $OLDPWD