diff --git a/.travis.yml b/.travis.yml index 1f077c37..41fbe9dd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/scripts/build_linux_engine.sh b/scripts/build_linux_engine.sh index e1c85ce4..6872be3e 100755 --- a/scripts/build_linux_engine.sh +++ b/scripts/build_linux_engine.sh @@ -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 < "$APPDIR/$APP.desktop" <