mirror of
https://github.com/Vita3K/Vita3K.git
synced 2026-07-11 01:34:23 +02:00
84 lines
2.0 KiB
Bash
84 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
source "$(dirname "$0")/common.sh"
|
|
|
|
PLATFORM=""
|
|
PRESET=""
|
|
CONFIG=""
|
|
OUTPUT_DIR=""
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--platform)
|
|
PLATFORM="$2"
|
|
shift 2
|
|
;;
|
|
--preset)
|
|
PRESET="$2"
|
|
shift 2
|
|
;;
|
|
--config)
|
|
CONFIG="$2"
|
|
shift 2
|
|
;;
|
|
--output-dir)
|
|
OUTPUT_DIR="$2"
|
|
shift 2
|
|
;;
|
|
*)
|
|
echo "Unknown argument: $1" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
require_arg "$PLATFORM" "platform"
|
|
require_arg "$PRESET" "preset"
|
|
require_arg "$CONFIG" "config"
|
|
require_arg "$OUTPUT_DIR" "output-dir"
|
|
|
|
build_dir="build/$PRESET/bin/$CONFIG"
|
|
repo_root="$(pwd)"
|
|
mkdir -p "$OUTPUT_DIR"
|
|
|
|
case "$PLATFORM" in
|
|
linux-*)
|
|
mkdir -p "$OUTPUT_DIR/bin"
|
|
shopt -s dotglob nullglob
|
|
for path in "$build_dir"/*; do
|
|
base_name="$(basename "$path")"
|
|
if [[ "$base_name" == *AppImage* ]]; then
|
|
cp -R "$path" "$OUTPUT_DIR/"
|
|
else
|
|
cp -R "$path" "$OUTPUT_DIR/bin/"
|
|
fi
|
|
done
|
|
shopt -u dotglob nullglob
|
|
;;
|
|
macos-*)
|
|
dmg_name="vita3k-${GIT_SHORT_SHA:-$(git_short_sha)}-${PLATFORM}.dmg"
|
|
pushd "$build_dir" > /dev/null
|
|
create-dmg \
|
|
--volname "Vita3K Installer" \
|
|
--volicon Vita3K.app/Contents/Resources/Vita3K.icns \
|
|
--window-size 500 300 \
|
|
--icon-size 100 \
|
|
--icon Vita3K.app 120 115 \
|
|
--app-drop-link 360 115 \
|
|
"$dmg_name" \
|
|
Vita3K.app
|
|
mv -f "$dmg_name" "$repo_root/$OUTPUT_DIR/"
|
|
rm -rf Vita3K.app
|
|
popd > /dev/null
|
|
;;
|
|
windows-*)
|
|
mkdir -p "$OUTPUT_DIR/bin"
|
|
cp -R "$build_dir/." "$OUTPUT_DIR/bin/"
|
|
;;
|
|
*)
|
|
echo "Unsupported desktop platform: $PLATFORM" >&2
|
|
exit 1
|
|
;;
|
|
esac
|