scripts: allow building dedicated, rename appimage to lower-case, fix warnings found by shellcheck

This commit is contained in:
Alibek Omarov 2019-07-27 14:49:01 +03:00
parent 35ae421ac1
commit 7c8105247c
2 changed files with 54 additions and 29 deletions

View File

@ -36,10 +36,11 @@ jobs:
- sh scripts/travis_common_deps.sh
- sh scripts/travis_${TRAVIS_OS_NAME}_deps.sh
script:
- sh scripts/build_${TRAVIS_OS_NAME}_engine.sh
- sh scripts/build_${TRAVIS_OS_NAME}_engine.sh full
- sh scripts/build_${TRAVIS_OS_NAME}_engine.sh dedicated
after_script:
- ccache --show-stats
- sh scripts/continious_upload.sh Xash3DFWGS-${ARCH}.AppImage
- sh scripts/continious_upload.sh xash3d-fwgs-${ARCH}.AppImage xashds-linux-${ARCH}
- # ...
name: "Build for Linux amd64"
cache: ccache
@ -60,10 +61,11 @@ jobs:
- sh scripts/travis_common_deps.sh
- sh scripts/travis_${TRAVIS_OS_NAME}_deps.sh
script:
- sh scripts/build_${TRAVIS_OS_NAME}_engine.sh
- sh scripts/build_${TRAVIS_OS_NAME}_engine.sh full
- sh scripts/build_${TRAVIS_OS_NAME}_engine.sh dedicated
after_script:
- ccache --show-stats
- sh scripts/continious_upload.sh Xash3DFWGS-${ARCH}.AppImage
- sh scripts/continious_upload.sh xash3d-fwgs-${ARCH}.AppImage xashds-linux-${ARCH}
# - # ...
# name: "Build for Android"
# cache: ccache

View File

@ -2,7 +2,15 @@
. scripts/lib.sh
if [ ! $ARCH ]; then
if [ "$1" = "dedicated" ]; then
APP=xashds
APPNAME=$APP-linux-$ARCH # since we have no extension, mark executable name that it for linux
else # elif [ "$1" = "full" ]; then
APP=xash3d-fwgs
APPNAME=$APP-$ARCH
fi
if [ ! "$ARCH" ]; then
ARCH=i686
fi
@ -10,14 +18,10 @@ fi
export CC="ccache gcc"
export CXX="ccache g++"
# AppImage settings
APP=Xash3DFWGS
APPDIR=$APP-$ARCH.AppDir
APPIMAGE=$APP-$ARCH.AppImage
build_sdl2()
{
cd $TRAVIS_BUILD_DIR/SDL2_src
cd "$TRAVIS_BUILD_DIR"/SDL2_src || die
if [ "$ARCH" = "i686" ]; then
export CFLAGS="-msse2 -march=i686 -m32 -ggdb -O2"
export LDFLAGS="-m32"
@ -29,8 +33,8 @@ build_sdl2()
--enable-wayland-shared --enable-x11-shared \
--prefix / || die # get rid of /usr/local stuff
make -j2 || die
mkdir -p $TRAVIS_BUILD_DIR/SDL2_linux
make install DESTDIR=$TRAVIS_BUILD_DIR/SDL2_linux || die
mkdir -p "$TRAVIS_BUILD_DIR"/SDL2_linux
make install DESTDIR="$TRAVIS_BUILD_DIR"/SDL2_linux || die
export CFLAGS=""
export LDFLAGS=""
}
@ -38,31 +42,42 @@ build_sdl2()
build_engine()
{
# Build engine
cd $TRAVIS_BUILD_DIR
cd "$TRAVIS_BUILD_DIR" || die
WAF_CONFIGURE_FLAGS="--sdl2=$TRAVIS_BUILD_DIR/SDL2_linux -T release --enable-stb --prefix=$APPDIR --win-style-install"
if [ "$ARCH" = "x86_64" ]; then # we need enabling 64-bit target only on Intel-compatible CPUs
WAF_CONFIGURE_FLAGS="$WAF_CONFIGURE_FLAGS -8"
AMD64="-8"
fi
./waf configure $WAF_CONFIGURE_FLAGS || die
if [ "$APP" = "xashds" ]; then
./waf configure -T release --single-binary -d -W "$AMD64" || die
elif [ "$APP" = "xash3d-fwgs" ]; then
APPDIR=$APPNAME.AppDir
./waf configure --sdl2=SDL2_linux -T release --enable-stb --prefix="$APPDIR" -W "$AMD64" || die
else
die
fi
./waf build || die
}
build_appimage()
{
cd $TRAVIS_BUILD_DIR
APPDIR=$APPNAME.AppDir
APPIMAGE=$APPNAME.AppImage
cd "$TRAVIS_BUILD_DIR" || die
./waf install || die
# Generate extras.pak
python3 scripts/makepak.py xash-extras/ $APPDIR/extras.pak
python3 scripts/makepak.py xash-extras/ "$APPDIR/extras.pak"
cp SDL2_linux/lib/libSDL2-2.0.so.0 $APPDIR/
cp SDL2_linux/lib/libSDL2-2.0.so.0 "$APPDIR/"
if [ "$ARCH" = "i686" ]; then
cp vgui-dev/lib/vgui.so $APPDIR/
cp vgui-dev/lib/vgui.so "$APPDIR/"
fi
cat > $APPDIR/AppRun << 'EOF'
cat > "$APPDIR"/AppRun << 'EOF'
#!/bin/sh
if [ "$XASH3D_BASEDIR" = "" ]; then
@ -77,14 +92,14 @@ ${DEBUGGER} "${APPDIR}"/xash3d "$@"
exit $?
EOF
chmod +x $APPDIR/xash3d $APPDIR/AppRun # Engine launcher & engine launcher script
chmod +x "$APPDIR"/xash3d "$APPDIR"/AppRun # Engine launcher & engine launcher script
echo "Contents of AppImage: "
ls -R $APPDIR
ls -R "$APPDIR"
wget "https://raw.githubusercontent.com/FWGS/fwgs-artwork/master/xash3d/icon_512.png" -O $APPDIR/$APP.png
wget "https://raw.githubusercontent.com/FWGS/fwgs-artwork/master/xash3d/icon_512.png" -O "$APPDIR/$APP.png"
cat > $APPDIR/$APP.desktop <<EOF
cat > "$APPDIR/$APP.desktop" <<EOF
[Desktop Entry]
Name=$APP
Icon=$APP
@ -94,10 +109,18 @@ Categories=Game;
EOF
wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-$ARCH.AppImage"
chmod +x appimagetool-$ARCH.AppImage
./appimagetool-$ARCH.AppImage $APPDIR $APPIMAGE
chmod +x "appimagetool-$ARCH.AppImage"
./appimagetool-$ARCH.AppImage "$APPDIR" "$APPIMAGE"
}
build_sdl2
rm -rf build # clean-up build directory
if [ $APP != "xashds" ]; then
build_sdl2
fi
build_engine
build_appimage
if [ $APP != "xashds" ]; then
build_appimage
else
mv build/engine/xash $APPNAME
fi