forked from github/server
48 lines
1.2 KiB
Bash
Executable File
48 lines
1.2 KiB
Bash
Executable File
#!/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
|