From 93fcab952b28f4db39d9326b83f14cbd86c0cf17 Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Fri, 27 Feb 2015 18:05:29 -0500 Subject: Clean up and tweak build system * Combine client and server man pages. * Update unit test options and available databases in man page. * Add `--worldname` to man page. * Fix a bunch of places where `"Minetest"` was used directly instead of `PROJECT_NAME`. * Disable server build by default on all operating systems. * Make `ENABLE_FREETYPE` not fail if FreeType isn't found. * Enable LevelDB, Redis, and FreeType detection by default. * Remove the `VERSION_PATCH_ORIG` hack. * Add option to search for and use system JSONCPP. * Remove broken LuaJIT version detection. * Rename `DISABLE_LUAJIT` to `ENABLE_LUAJIT`. * Rename `minetest_*` variables in `version.{h,cpp}` to `g_*`. * Clean up style of CMake files. --- util/travis/script.sh | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) (limited to 'util/travis/script.sh') diff --git a/util/travis/script.sh b/util/travis/script.sh index 35a62f16e..756cc1de8 100755 --- a/util/travis/script.sh +++ b/util/travis/script.sh @@ -1,16 +1,21 @@ #!/bin/bash -e -if [ $WINDOWS = "no" ]; then +if [[ $PLATFORM == "Linux" ]]; then mkdir -p travisbuild cd travisbuild - cmake -DENABLE_GETTEXT=1 -DENABLE_LEVELDB=1 -DENABLE_REDIS=1 -DCMAKE_BUILD_TYPE=Debug .. + CMAKE_FLAGS='-DCMAKE_BUILD_TYPE=Debug \ + -DRUN_IN_PLACE=TRUE \ + -DENABLE_GETTEXT=TRUE' + # Clang builds with FreeType fail on Travis + if [[ $CC == "clang" ]]; then + CMAKE_FLAGS+=' -DENABLE_FREETYPE=FALSE' + fi + cmake $CMAKE_FLAGS .. make -j2 - echo "Running unit tests for minetest" - ../bin/minetest --run-unittests - echo "Running unit tests for minetestserver" - ../bin/minetestserver --run-unittests -else - [ $CC = "clang" ] && exit 1 # Not supposed to happen + echo "Running unit tests." + ../bin/minetest --run-unittests && exit 0 +elif [[ $PLATFORM == Win* ]]; then + [[ $CC == "clang" ]] && exit 1 # Not supposed to happen # We need to have our build directory outside of the minetest directory because # CMake will otherwise get very very confused with symlinks and complain that # something is not a subdirectory of something even if it actually is. @@ -21,8 +26,17 @@ else # \/ \/ \/ # /home/travis/minetest/minetest/travisbuild/minetest/travisbuild/minetest/travisbuild/minetest # You get the idea. - OLDDIR=`pwd` + OLDDIR=$(pwd) cd .. - [ $WINDOWS = "32" ] && EXISTING_MINETEST_DIR=$OLDDIR NO_MINETEST_GAME=1 $OLDDIR/util/buildbot/buildwin32.sh travisbuild && exit 0 - [ $WINDOWS = "64" ] && EXISTING_MINETEST_DIR=$OLDDIR NO_MINETEST_GAME=1 $OLDDIR/util/buildbot/buildwin64.sh travisbuild && exit 0 + export EXISTING_MINETEST_DIR=$OLDDIR + export NO_MINETEST_GAME=1 + if [[ $PLATFORM == "Win32" ]]; then + $OLDDIR/util/buildbot/buildwin32.sh travisbuild && exit 0 + elif [[ $PLATFORM == "Win64" ]]; then + $OLDDIR/util/buildbot/buildwin64.sh travisbuild && exit 0 + fi +else + echo "Unknown platform \"${PLATFORM}\"." + exit 1 fi + -- cgit v1.2.3