mirror of
https://github.com/minetest/minetestmapper.git
synced 2025-04-19 02:50:32 +02:00
58 lines
1.4 KiB
Bash
Executable File
58 lines
1.4 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
#######
|
|
# this expects unpacked libraries and a toolchain file like Luanti's buildbot uses
|
|
# $extradlls will typically contain the compiler-specific DLLs and libpng
|
|
toolchain_file=
|
|
libgd_dir=
|
|
zlib_dir=
|
|
zstd_dir=
|
|
sqlite_dir=
|
|
leveldb_dir=
|
|
extradlls=(
|
|
)
|
|
#######
|
|
|
|
[ -f "$toolchain_file" ] || exit 1
|
|
variant=win32
|
|
grep -q 'CX?X?_COMPILER.*x86_64-' $toolchain_file && variant=win64
|
|
echo "Detected target $variant"
|
|
|
|
[ -f ./CMakeLists.txt ] || { echo "run from root folder" >&2; exit 1; }
|
|
|
|
cmake -S . -B build \
|
|
-DCMAKE_TOOLCHAIN_FILE="$toolchain_file" \
|
|
-DCMAKE_EXE_LINKER_FLAGS="-s" \
|
|
\
|
|
-DENABLE_LEVELDB=1 \
|
|
\
|
|
-DLEVELDB_INCLUDE_DIR=$leveldb_dir/include \
|
|
-DLEVELDB_LIBRARY=$leveldb_dir/lib/libleveldb.dll.a \
|
|
-DLIBGD_INCLUDE_DIR=$libgd_dir/include \
|
|
-DLIBGD_LIBRARY=$libgd_dir/lib/libgd.dll.a \
|
|
-DSQLITE3_INCLUDE_DIR=$sqlite_dir/include \
|
|
-DSQLITE3_LIBRARY=$sqlite_dir/lib/libsqlite3.dll.a \
|
|
-DZLIB_INCLUDE_DIR=$zlib_dir/include \
|
|
-DZLIB_LIBRARY=$zlib_dir/lib/libz.dll.a \
|
|
-DZSTD_INCLUDE_DIR=$zstd_dir/include \
|
|
-DZSTD_LIBRARY=$zstd_dir/lib/libzstd.dll.a
|
|
|
|
make -C build -j4
|
|
|
|
mkdir pack
|
|
cp -p \
|
|
AUTHORS colors.txt COPYING README.rst \
|
|
build/minetestmapper.exe \
|
|
$leveldb_dir/bin/libleveldb.dll \
|
|
$libgd_dir/bin/libgd*.dll \
|
|
$sqlite_dir/bin/libsqlite*.dll \
|
|
$zlib_dir/bin/zlib1.dll \
|
|
$zstd_dir/bin/libzstd.dll \
|
|
"${extradlls[@]}" \
|
|
pack/
|
|
zipfile=$PWD/minetestmapper-$variant.zip
|
|
(cd pack; zip -9r "$zipfile" *)
|
|
|
|
rm -rf build pack
|
|
echo "Done."
|