Minetest-For-Mobile/build/build.sh

78 lines
1.7 KiB
Bash
Raw Permalink Normal View History

2020-12-21 20:11:17 +00:00
#!/bin/sh
set -e
2021-07-07 01:31:29 +00:00
# Clone Minetest
rm -rf minetest
2022-06-04 04:53:18 +00:00
git clone https://github.com/minetest/minetest.git
2021-07-07 01:31:29 +00:00
cd minetest
git clone --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game
# Get Version
DEB_VERSION="$(git describe --tags --dirty)"
# Clone Irrlicht
2021-08-27 19:34:21 +00:00
git clone --depth 1 https://github.com/minetest/irrlicht.git lib/irrlichtmt
2021-07-07 01:31:29 +00:00
# Configure Irrlicht
cd lib/irrlichtmt
disable_feature() {
sed -i "s/^#define $1.*\$//g" include/IrrCompileConfig.h
}
enable_feature() {
sed -i "s/^#ifdef NO$1.*\$/#ifndef $1\n#define $1\n#endif\n#if 0/g" include/IrrCompileConfig.h
}
disable_feature _IRR_COMPILE_WITH_OPENGL_
2021-07-07 15:20:14 +00:00
disable_feature _IRR_COMPILE_WITH_OGLES1_
2021-07-07 01:31:29 +00:00
disable_feature _IRR_COMPILE_WITH_WEBGL1_
disable_feature _IRR_COMPILE_WITH_SOFTWARE_
disable_feature _IRR_COMPILE_WITH_BURNINGSVIDEO_
2021-07-07 15:20:14 +00:00
enable_feature _IRR_COMPILE_WITH_OGLES2_
2021-07-07 01:31:29 +00:00
enable_feature _IRR_LINUX_X11_XINPUT2_
cd ../../
2021-07-07 15:46:56 +00:00
# Copy Shaders
rm -rf client/shaders/Irrlicht
cp -r lib/irrlichtmt/media/Shaders client/shaders/Irrlicht
2021-07-07 01:31:29 +00:00
# Configure Minetest
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_SYSTEM_PROCESSOR=aarch64 \
-DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc \
-DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \
-DENABLE_GLES=TRUE \
-DENABLE_TOUCH=TRUE \
-DRUN_IN_PLACE=FALSE \
-DBUILD_UNITTESTS=FALSE \
-DVERSION_EXTRA=mobile \
..
# Build
make -j$(nproc)
# Prepare
rm -rf tmp
mkdir tmp
rm -rf /out/*
mkdir -p /out
# Install Files
make install DESTDIR="$(pwd)/tmp"
# Prepare Debian
cp -r ../../DEBIAN tmp/DEBIAN
sed -i 's/${VERSION}/'"${DEB_VERSION}"'/g' tmp/DEBIAN/control
# Make DEB
dpkg -b tmp /out
# Clean Up
rm -rf tmp