aboutsummaryrefslogtreecommitdiff
path: root/util/travis/script.sh
diff options
context:
space:
mode:
authorShadowNinja <shadowninja@minetest.net>2015-02-27 18:05:29 -0500
committerShadowNinja <shadowninja@minetest.net>2015-03-27 15:00:48 -0400
commit93fcab952b28f4db39d9326b83f14cbd86c0cf17 (patch)
tree4a2f0fcf7341c596f50ec24ff0a5a81d43d17ccd /util/travis/script.sh
parent284fefb0c32e8222fadd78eeec6e7e718fe25668 (diff)
downloadminetest-93fcab952b28f4db39d9326b83f14cbd86c0cf17.tar.gz
minetest-93fcab952b28f4db39d9326b83f14cbd86c0cf17.tar.bz2
minetest-93fcab952b28f4db39d9326b83f14cbd86c0cf17.zip
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.
Diffstat (limited to 'util/travis/script.sh')
-rwxr-xr-xutil/travis/script.sh36
1 files changed, 25 insertions, 11 deletions
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
+