Martijn de Boer
0b6ae0fe38
All checks were successful
continuous-integration/drone/push Build is passing
101 lines
No EOL
2.6 KiB
Bash
101 lines
No EOL
2.6 KiB
Bash
#!/usr/bin/env bash
|
|
# Slightly based on love-exporter at https://github.com/dmoa/love-export/blob/master/main.sh
|
|
|
|
LOVE_VERSION=11.4
|
|
LOVE_WIN64=https://github.com/love2d/love/releases/download/$LOVE_VERSION/love-$LOVE_VERSION-win64.zip
|
|
LOVE_MACOS=https://github.com/love2d/love/releases/download/$LOVE_VERSION/love-$LOVE_VERSION-macos.zip
|
|
LOVE_LINUX=https://github.com/love2d/love/releases/download/$LOVE_VERSION/love-$LOVE_VERSION-x86_64.AppImage
|
|
APPIMAGETOOL=https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
|
|
|
|
build() {
|
|
echo "Building release"
|
|
cp -Rf {assets,bullet,captain,planet,scene,shaders,ship,vendor} build/game/
|
|
cp -f *.lua build/game/
|
|
find build/game -maxdepth 5 -type f -name '*.psd' -delete
|
|
}
|
|
|
|
downloadlove() {
|
|
echo "Downloading binaries"
|
|
cd build
|
|
|
|
curl -L -O $LOVE_WIN64
|
|
unzip love-$LOVE_VERSION-win64.zip
|
|
mv ./*win64 win
|
|
rm love-$LOVE_VERSION-win64.zip
|
|
cd win
|
|
rm love.ico game.ico lovec.exe readme.txt changes.txt
|
|
cd ..
|
|
|
|
mkdir mac
|
|
cd mac
|
|
curl -L -O $LOVE_MACOS
|
|
unzip love-$LOVE_VERSION-macos.zip
|
|
rm love-$LOVE_VERSION-macos.zip
|
|
cd ..
|
|
|
|
#mkdir linux
|
|
#cd linux
|
|
#curl -L -O $LOVE_LINUX
|
|
#curl -L -O $APPIMAGETOOL
|
|
|
|
#./appimagetool-x86_64.AppImage --appimage-extract
|
|
#mv squashfs-root appimage
|
|
#chmod +x appimage/AppRun
|
|
#./love-$LOVE_VERSION-x86_64.AppImage --appimage-extract
|
|
#chmod +x squashfs-root/AppRun
|
|
#cd ..
|
|
|
|
cd ..
|
|
}
|
|
|
|
makelove() {
|
|
cd build/game
|
|
echo "Generating love file"
|
|
zip -9 -r ../../release/vision.love .
|
|
cd ../..
|
|
}
|
|
|
|
makewin64() {
|
|
echo "Generating Win64 build"
|
|
cat "build/win/love.exe" "release/vision.love" > "build/win/vision.exe"
|
|
rm "build/win/love.exe"
|
|
cd build/win
|
|
zip -9 -r ../../release/vision-win64.zip .
|
|
cd ../..
|
|
}
|
|
|
|
makemac() {
|
|
echo "Generating MacOS build"
|
|
cp "release/vision.love" "build/mac/love.app/Contents/Resources"
|
|
mv "build/mac/love.app" "build/mac/vision.app"
|
|
cd build/mac
|
|
cp -f "../../tools/macos-info.plist" "vision.app/Contents/Info.plist"
|
|
zip -9 -r ../../release/vision-macos.zip .
|
|
cd ../..
|
|
}
|
|
|
|
makelinux() {
|
|
cd "build/linux/"
|
|
cat "squashfs-root/bin/love" "../../release/vision.love" > "squashfs-root/bin/vision"
|
|
chmod +x "squashfs-root/bin/vision"
|
|
cp -f "../../tools/vision.desktop" "squashfs-root/vision.desktop"
|
|
rm "squashfs-root/love.desktop"
|
|
cd "squashfs-root"
|
|
tar zcvf ../../../release/vision-linux-appdir.tar.gz *
|
|
cd ..
|
|
./appimage/AppRun squashfs-root ../../release/vision-linux.AppImage
|
|
|
|
cd ../..
|
|
}
|
|
|
|
echo "Building the game on LÖVE $LOVE_VERSION!"
|
|
rm -Rf build/* release/*
|
|
mkdir -p build/game
|
|
mkdir -p release
|
|
|
|
build
|
|
downloadlove
|
|
makelove
|
|
makewin64
|
|
makemac
|
|
#makelinux |