mirror of
https://github.com/thejerf/baijiSteamVR.git
synced 2026-10-17 17:01:43 +02:00
49 lines
1.4 KiB
Bash
Executable File
49 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
# The OpenXR commit in the upstream SDK that the DolphinXR patch targets.
|
|
OPENXR_COMMIT="f2448a8797c85814aa892efc1ab8707900fbcc78"
|
|
|
|
# Known-good fallback tag for submodules whose recorded commit has disappeared.
|
|
FMT_TAG="11.0.2"
|
|
|
|
# Submodules we fix manually (recorded commit missing upstream or not needed on Linux).
|
|
git config submodule.Externals/OpenXR.update none
|
|
git config submodule.Externals/fmt/fmt.update none
|
|
git config submodule.Externals/Qt.update none
|
|
git config submodule.Externals/FFmpeg-bin.update none
|
|
|
|
# Initialize everything else.
|
|
echo "Initializing submodules..."
|
|
git submodule update --init --recursive
|
|
|
|
# Fix fmt to a fallback tag.
|
|
echo "Fixing fmt submodule to $FMT_TAG..."
|
|
cd Externals/fmt/fmt
|
|
git fetch --tags origin
|
|
git checkout -f "$FMT_TAG"
|
|
cd ../../..
|
|
|
|
# Fix OpenXR: known commit + local patches.
|
|
echo "Fixing OpenXR submodule to $OPENXR_COMMIT + patches..."
|
|
cd Externals/OpenXR
|
|
git checkout -f "$OPENXR_COMMIT"
|
|
apply_if_clean() {
|
|
if git apply --check "$1" 2>/dev/null; then
|
|
git apply "$1"
|
|
echo " applied $(basename "$1")"
|
|
else
|
|
echo " $(basename "$1") already applied or not applicable"
|
|
fi
|
|
}
|
|
apply_if_clean ../../OpenXR.patch
|
|
apply_if_clean ../../patches/openxr-destructor.patch
|
|
apply_if_clean ../../patches/openxr-loader-exceptions.patch
|
|
cd ../..
|
|
|
|
echo ""
|
|
echo "Submodule summary:"
|
|
git submodule status | head -50
|