mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 15:20:15 +00:00
70 lines
2 KiB
Bash
Executable file
70 lines
2 KiB
Bash
Executable file
#!/bin/bash
|
|
# Wowee Build Script - Ensures no stale binaries
|
|
|
|
set -e # Exit on error
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
ensure_fsr2_sdk() {
|
|
local sdk_dir="extern/FidelityFX-FSR2"
|
|
local sdk_header="$sdk_dir/src/ffx-fsr2-api/ffx_fsr2.h"
|
|
if [ -f "$sdk_header" ]; then
|
|
return
|
|
fi
|
|
if ! command -v git >/dev/null 2>&1; then
|
|
echo "Warning: git not found; cannot auto-fetch AMD FSR2 SDK."
|
|
return
|
|
fi
|
|
echo "Fetching AMD FidelityFX FSR2 SDK into $sdk_dir ..."
|
|
mkdir -p extern
|
|
git clone --depth 1 https://github.com/GPUOpen-Effects/FidelityFX-FSR2.git "$sdk_dir" || {
|
|
echo "Warning: failed to clone AMD FSR2 SDK. Build will use internal fallback path."
|
|
}
|
|
}
|
|
|
|
ensure_fidelityfx_sdk() {
|
|
local sdk_dir="extern/FidelityFX-SDK"
|
|
local sdk_header="$sdk_dir/sdk/include/FidelityFX/host/ffx_frameinterpolation.h"
|
|
local sdk_repo="${WOWEE_FFX_SDK_REPO:-https://github.com/Kelsidavis/FidelityFX-SDK.git}"
|
|
local sdk_ref="${WOWEE_FFX_SDK_REF:-main}"
|
|
if [ -f "$sdk_header" ]; then
|
|
return
|
|
fi
|
|
if ! command -v git >/dev/null 2>&1; then
|
|
echo "Warning: git not found; cannot auto-fetch AMD FidelityFX SDK."
|
|
return
|
|
fi
|
|
echo "Fetching AMD FidelityFX SDK ($sdk_ref from $sdk_repo) into $sdk_dir ..."
|
|
mkdir -p extern
|
|
git clone --depth 1 --branch "$sdk_ref" "$sdk_repo" "$sdk_dir" || {
|
|
echo "Warning: failed to clone AMD FidelityFX SDK. FSR3 framegen extern will be unavailable."
|
|
}
|
|
}
|
|
|
|
echo "Building wowee..."
|
|
ensure_fsr2_sdk
|
|
ensure_fidelityfx_sdk
|
|
|
|
# Create build directory if it doesn't exist
|
|
mkdir -p build
|
|
cd build
|
|
|
|
# Configure with cmake
|
|
echo "Configuring with CMake..."
|
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
|
|
|
# Build with all cores
|
|
NPROC=$(nproc 2>/dev/null || sysctl -n hw.logicalcpu 2>/dev/null || echo 4)
|
|
echo "Building with $NPROC cores..."
|
|
cmake --build . --parallel "$NPROC"
|
|
|
|
# Ensure Data symlink exists in bin directory
|
|
cd bin
|
|
if [ ! -e Data ]; then
|
|
ln -s ../../Data Data
|
|
fi
|
|
cd ..
|
|
|
|
echo ""
|
|
echo "Build complete! Binary: build/bin/wowee"
|
|
echo "Run with: cd build/bin && ./wowee"
|