implement new audio engine
This commit is contained in:
Executable
+86
@@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
APP_NAME="SubWave"
|
||||
BUILD_DIR="build"
|
||||
APPDIR="AppDir"
|
||||
DIST_DIR="dist"
|
||||
|
||||
ICON_SRC_PNG="ico/wavy_png.png"
|
||||
ICON_SRC_ICO="ico/wavy_ico.ico"
|
||||
|
||||
echo "==> Cleaning old build"
|
||||
rm -rf "$BUILD_DIR" "$APPDIR" "$DIST_DIR"
|
||||
mkdir -p "$DIST_DIR"
|
||||
|
||||
echo "==> Configuring project"
|
||||
cmake -B "$BUILD_DIR" -DCMAKE_BUILD_TYPE=Release
|
||||
|
||||
echo "==> Building project"
|
||||
cmake --build "$BUILD_DIR" -j$(nproc)
|
||||
|
||||
echo "==> Installing into AppDir"
|
||||
cmake --install "$BUILD_DIR" --prefix "$APPDIR/usr"
|
||||
|
||||
echo "==> Ensuring binary location"
|
||||
mkdir -p "$APPDIR/usr/bin"
|
||||
|
||||
if [ ! -f "$APPDIR/usr/bin/$APP_NAME" ]; then
|
||||
cp "$BUILD_DIR/$APP_NAME" "$APPDIR/usr/bin/" || true
|
||||
fi
|
||||
|
||||
echo "==> Creating desktop file (REQUIRED for AppImage)"
|
||||
|
||||
mkdir -p "$APPDIR/usr/share/applications"
|
||||
|
||||
cat > "$APPDIR/usr/share/applications/$APP_NAME.desktop" <<EOF
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=SubWave
|
||||
Exec=SubWave
|
||||
Icon=subwave
|
||||
Categories=AudioVideo;Audio;Player;
|
||||
Terminal=false
|
||||
EOF
|
||||
|
||||
echo "==> Installing icon"
|
||||
|
||||
ICON_DEST_DIR="$APPDIR/usr/share/icons/hicolor/256x256/apps"
|
||||
mkdir -p "$ICON_DEST_DIR"
|
||||
|
||||
if [ -f "$ICON_SRC_PNG" ]; then
|
||||
cp "$ICON_SRC_PNG" "$ICON_DEST_DIR/subwave.png"
|
||||
elif [ -f "$ICON_SRC_ICO" ]; then
|
||||
if command -v convert >/dev/null 2>&1; then
|
||||
convert "$ICON_SRC_ICO[0]" "$ICON_DEST_DIR/subwave.png"
|
||||
else
|
||||
echo "WARNING: ImageMagick not installed, copying .ico as fallback"
|
||||
cp "$ICON_SRC_ICO" "$ICON_DEST_DIR/subwave.ico"
|
||||
fi
|
||||
else
|
||||
echo "WARNING: No icon found, build will still work but no icon will be shown"
|
||||
fi
|
||||
|
||||
echo "==> Downloading linuxdeploy if needed"
|
||||
|
||||
if [ ! -f linuxdeploy-x86_64.AppImage ]; then
|
||||
wget -q https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||
chmod +x linuxdeploy-x86_64.AppImage
|
||||
fi
|
||||
|
||||
echo "==> Building AppImage"
|
||||
|
||||
export ARCH=x86_64
|
||||
|
||||
./linuxdeploy-x86_64.AppImage \
|
||||
--appdir "$APPDIR" \
|
||||
--output appimage
|
||||
|
||||
echo "==> Moving output"
|
||||
mkdir -p "$DIST_DIR"
|
||||
mv *.AppImage "$DIST_DIR/$APP_NAME.AppImage"
|
||||
|
||||
echo "==> DONE"
|
||||
echo "Run:"
|
||||
echo " chmod +x dist/$APP_NAME.AppImage"
|
||||
echo " ./dist/$APP_NAME.AppImage"
|
||||
Reference in New Issue
Block a user