diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d1445928..5d0c2700 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -70,7 +70,9 @@ jobs: - name: Build run: | make CC=gcc-14 CXX=g++-14 CXXFLAGS="-Wno-deprecated-copy" -j4 - 7z a Linux-${{ matrix.arch }}.7z ./install/* + ./appimage.sh + 7z a Linux-${{ matrix.arch }}.7z ./NetRadiant-Custom-x86_64.AppImage +# 7z a Linux-${{ matrix.arch }}.7z ./install/* # 7z to preserve file permissions - uses: actions/upload-artifact@v4 diff --git a/appimage.sh b/appimage.sh new file mode 100755 index 00000000..8f5c5ef2 --- /dev/null +++ b/appimage.sh @@ -0,0 +1,45 @@ +#!/bin/bash +set -e + +APPDIR="NetRadiant-Custom.AppDir" +APPNAME="NetRadiant-Custom" +BINARY="radiant.x86_64" +DESKTOP="netradiantcustom.desktop" +ICON="$BINARY" +ICON_SRC="install/bitmaps/logo.svg" +ICON_DEST="$APPDIR/$ICON.svg" + + +echo "[1/5] Preparing AppDir structure..." +mkdir -p "$APPDIR/usr/bin" + +echo "[2/5] Copying executable and support files..." +cp -r install/. "$APPDIR/usr/bin/" + +echo "[3/5] Generating desktop file..." +DESKTOP_FILE="$APPDIR/$DESKTOP" +cat > "$DESKTOP_FILE" <