AeThex-Engine-Core/engine/thirdparty/metal-cpp/update-metal-cpp.sh
MrPiglr 9dddce666d
🚀 AeThex Engine v1.0 - Complete Fork
- Forked from Godot Engine 4.7-dev (MIT License)
- Rebranded to AeThex Engine with cyan/purple theme
- Added AI-powered development assistant module
- Integrated Claude API for code completion & error fixing
- Custom hexagon logo and branding
- Multi-platform CI/CD (Windows, Linux, macOS)
- Built Linux editor binary (151MB)
- Complete source code with all customizations

Tech Stack:
- C++ game engine core
- AI Module: Claude 3.5 Sonnet integration
- Build: SCons, 14K+ source files
- License: MIT (Godot) + Custom (AeThex features)

Ready for Windows build via GitHub Actions!
2026-02-23 05:01:56 +00:00

61 lines
1.7 KiB
Bash
Executable file

#!/bin/bash -e
# metal-cpp update script for Godot
#
# metal-cpp source: https://developer.apple.com/metal/cpp/
# This version includes Metal 4 APIs (macOS 26 / iOS 26).
VERSION="macOS26-iOS26"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
# If a zip is provided as argument, extract it
if [ -n "$1" ]; then
echo "Updating metal-cpp from: $1"
rm -rf \
"$SCRIPT_DIR/Foundation" \
"$SCRIPT_DIR/Metal" \
"$SCRIPT_DIR/MetalFX" \
"$SCRIPT_DIR/QuartzCore" \
"$SCRIPT_DIR/SingleHeader"
unzip -q "$1" -d "$SCRIPT_DIR"
echo "Extracted metal-cpp $VERSION"
else
echo "Applying patches only..."
fi
# =============================================================================
# Apply Godot-specific patches
# =============================================================================
echo "Applying Godot compatibility patches..."
# Apply patch files (idempotent)
PATCH_DIR="$SCRIPT_DIR/patches"
if [ -d "$PATCH_DIR" ]; then
for PATCH in "$PATCH_DIR"/*.patch; do
if [ ! -e "$PATCH" ]; then
echo " No patches found in $PATCH_DIR"
break
fi
PATCH_NAME="$(basename "$PATCH")"
if git -C "$REPO_ROOT" apply --check "$PATCH" > /dev/null 2>&1; then
git -C "$REPO_ROOT" apply "$PATCH"
echo " $PATCH_NAME: applied"
elif git -C "$REPO_ROOT" apply --reverse --check "$PATCH" > /dev/null 2>&1; then
echo " $PATCH_NAME: already applied"
else
echo " $PATCH_NAME: failed to apply"
exit 1
fi
done
else
echo " Warning: $PATCH_DIR not found"
fi
echo "Done."