minecraft-launcher/scripts/build-macos-portable.sh

89 lines
2.2 KiB
Bash
Executable file

#!/bin/bash
# Build script for macOS portable version of Racked.ru PrismLauncher
# This creates a portable .app bundle that can be run from USB drives
set -e
# Configuration
BUILD_TYPE="Release"
BUILD_DIR="build-macos-portable"
INSTALL_DIR="install-macos-portable"
RELEASE_DIR="release/Racked.ru-PrismLauncher-macOS-Portable"
# Clean previous builds
rm -rf "$BUILD_DIR" "$INSTALL_DIR" "$RELEASE_DIR"
mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR"
echo "========================================"
echo "Building Racked.ru PrismLauncher (macOS Portable)"
echo "========================================"
# Configure with CMake
cmake .. \
-G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \
-DCMAKE_INSTALL_PREFIX="../$INSTALL_DIR" \
-DLauncher_QT_VERSION_MAJOR=6 \
-DENABLE_LTO=ON \
-DUSE_SYSTEM_LIBS=OFF \
-DENABLE_GLFW=OFF \
-DENABLE_OPENAL=OFF
if [ $? -ne 0 ]; then
echo "CMake configuration failed!"
exit 1
fi
# Build
make -j$(sysctl -n hw.ncpu)
if [ $? -ne 0 ]; then
echo "Build failed!"
exit 1
fi
# Install to staging directory
make install
if [ $? -ne 0 ]; then
echo "Installation failed!"
exit 1
fi
cd ..
# Create portable package
echo "Creating portable package..."
mkdir -p "$RELEASE_DIR"
# Copy the .app bundle
cp -r "$INSTALL_DIR/PrismLauncher.app" "$RELEASE_DIR/"
# Copy portable.txt inside the app bundle
cp launcher/portable.txt "$RELEASE_DIR/PrismLauncher.app/Contents/Resources/"
# Create a simple launcher script
cat > "$RELEASE_DIR/run.sh" <<'EOF'
#!/bin/bash
# Racked.ru PrismLauncher portable launcher
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
open "$SCRIPT_DIR/PrismLauncher.app"
EOF
chmod +x "$RELEASE_DIR/run.sh"
echo "========================================"
echo "Build complete!"
echo "Output: $RELEASE_DIR"
echo "========================================"
echo "To create a release archive:"
echo " cd $RELEASE_DIR && tar czf ../racked-prismlauncher-macos-portable.tar.gz PrismLauncher.app run.sh"
echo "========================================"
echo ""
echo "Note: For distribution, you may want to codesign the app:"
echo " codesign --deep --force --sign \"Your Certificate\" $RELEASE_DIR/PrismLauncher.app"
echo "========================================"
exit 0