minetest/util/buildbot/buildwin32.sh

80 lines
2.2 KiB
Bash
Raw Normal View History

2012-04-03 07:48:44 +02:00
#!/bin/bash
set -e
topdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
2012-04-03 07:48:44 +02:00
if [ $# -ne 1 ]; then
echo "Usage: $0 <build directory>"
exit 1
fi
builddir=$1
mkdir -p $builddir
builddir="$( cd "$builddir" && pwd )"
libdir=$builddir/libs
source $topdir/common.sh
# Test which win32 compiler is present
command -v i686-w64-mingw32-gcc >/dev/null &&
compiler=i686-w64-mingw32-gcc
command -v i686-w64-mingw32-gcc-posix >/dev/null &&
compiler=i686-w64-mingw32-gcc-posix
if [ -z "$compiler" ]; then
echo "Unable to determine which MinGW compiler to use"
exit 1
fi
toolchain_file=$topdir/toolchain_${compiler/-gcc/}.cmake
2020-02-11 00:20:40 +01:00
echo "Using $toolchain_file"
find_runtime_dlls i686-w64-mingw32
# Get stuff
irrlicht_version=$(cat $topdir/../../misc/irrlichtmt_tag.txt)
2012-04-03 07:48:44 +02:00
mkdir -p $libdir
2023-12-13 12:54:44 +01:00
# 'ucrt' just points to rebuilt versions after a toolchain change
cd $libdir
2023-12-13 00:19:11 +01:00
libhost="http://minetest.kitsunemimi.pw"
2023-12-13 12:54:44 +01:00
download "https://github.com/minetest/irrlicht/releases/download/$irrlicht_version/win32-ucrt.zip" irrlicht-$irrlicht_version-win32.zip
2023-12-13 00:19:11 +01:00
download "$libhost/zlib-$zlib_version-win32.zip"
2023-12-13 12:54:44 +01:00
download "$libhost/ucrt/zstd-$zstd_version-win32.zip"
download "$libhost/ucrt/libogg-$ogg_version-win32.zip"
download "$libhost/ucrt/libvorbis-$vorbis_version-win32.zip"
2023-12-13 00:19:11 +01:00
download "$libhost/curl-$curl_version-win32.zip"
2023-12-13 12:54:44 +01:00
download "$libhost/ucrt/gettext-$gettext_version-win32.zip"
2023-12-13 00:19:11 +01:00
download "$libhost/freetype-$freetype_version-win32.zip"
download "$libhost/sqlite3-$sqlite3_version-win32.zip"
download "$libhost/luajit-$luajit_version-win32.zip"
2023-12-13 12:54:44 +01:00
download "$libhost/ucrt/libleveldb-$leveldb_version-win32.zip" leveldb-$leveldb_version-win32.zip
2023-12-13 00:19:11 +01:00
download "$libhost/openal-soft-$openal_version-win32.zip"
2012-04-03 07:48:44 +02:00
# Set source dir, downloading Minetest as needed
get_sources
2012-04-03 07:48:44 +02:00
# Build the thing
cd $builddir
[ -d build ] && rm -rf build
2012-04-03 07:48:44 +02:00
cmake_args=(
-DCMAKE_TOOLCHAIN_FILE=$toolchain_file
-DCMAKE_INSTALL_PREFIX=/tmp
-DBUILD_CLIENT=1 -DBUILD_SERVER=0
-DEXTRA_DLL="$runtime_dlls"
-DENABLE_SOUND=1
-DENABLE_CURL=1
-DENABLE_GETTEXT=1
-DENABLE_LEVELDB=1
)
add_cmake_libs
cmake -S $sourcedir -B build "${cmake_args[@]}"
2012-04-03 07:48:44 +02:00
cmake --build build -j$(nproc)
[ -z "$NO_PACKAGE" ] && cmake --build build --target package
2012-04-03 07:48:44 +02:00
exit 0
2012-04-03 07:48:44 +02:00
# EOF