From 24e1657ccd9858328441238b014e10989c182eff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Sun, 5 Jun 2011 22:53:17 +0200 Subject: update build.sh --- build.sh | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/build.sh b/build.sh index 2dbc76c..8981712 100755 --- a/build.sh +++ b/build.sh @@ -1,3 +1,71 @@ #! /bin/bash -[ ! -d build ] && mkdir build -cd build && cmake -DWANT_DEBUG=1 .. && make && cd .. && time ./libk8055/test + +VERBOSE=${VERBOSE:-0} +CMAKE_OPTIONS="" +MAKE_OPTIONS="" +BUILD_DIR=./build + +[ -f cmake_opts ] && source cmake_opts + +function cmake_init() { + echo -e " * cmake init\n" + if [ ! -d $BUILD_DIR ]; then + mkdir $BUILD_DIR || exit 1 + fi + cd $BUILD_DIR || exit 1 + if [ ! -e CMakeCache.txt ]; then + cmake ${CMAKE_OPTIONS} .. || exit 1 + fi + cd .. || exit 1 +} + +function cmake_clean() { + echo -e " * clean cmake files\n" && rm $BUILD_DIR/CMakeCache.txt 2>/dev/null +} + +function cmake_rm() { + echo -e " * rm cmake files\n" && rm -fr $BUILD_DIR 2>/dev/null +} + +function cmake_make() { + cmake_init + echo -e " * cmake make\n" && cd $BUILD_DIR || exit 1 + if [ $VERBOSE -eq 1 ]; then + VERBOSE=1 make $MAKE_OPTIONS || exit 1 + else + make $MAKE_OPTIONS || exit 1 + fi + cd .. +} + +function cmake_tests() { + cmake_init + echo -e " * execute tests\n" && time ./libk8055/test +} + +if [ $# -eq 0 ]; then + echo "usage $0 [cmds list]" + echo "cmds may be" + echo " r[m] => all built, temp and cache files" + echo " c[lean] => remove cache files" + echo " m[ake] => launch the build process" + echo " t[ests] => execute tests" + echo "ex: $0 r m pkg x" + exit 1 +fi + +for arg in $@; do + case $arg in + c|clean) + cmd="cmake_clean";; + r|rm) + cmd="cmake_rm";; + m|make) + cmd="cmake_make";; + t|test) + cmd="cmake_tests";; + *) + echo "unknown command ${arg}" && exit 1 + esac + $cmd +done -- cgit v1.1-2-g2b99