fix: Make Frame Studio build script check local build folder for Frame Home

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
KevinandCopilot committed 2026-10-24 20:44:42 +02:00
1 parent 0e5da8af9d
commit a9fb214424
2 files changed
+12 -3

No files matched your search

+4 -2
View File
@@ -24,8 +24,8 @@ CMake and Ninja.
studio\build_windows.bat x64
```
Studio packages the CI-built headset payload. Download the `FrameHome-payload` artifact from an Actions run and set
`FRAME_HOME_PAYLOAD_DIR` to its extracted directory before running the build script.
Download the `FrameHome-payload` artifact from an Actions run, extract it, and set `FRAME_HOME_PAYLOAD_DIR` to
its payload directory before running the batch file, or [build it manually](#frame-home-payload).
Use `x86` for 32-bit Windows or `arm64` for Windows on ARM instead of `x64`.
3. The program is `%LOCALAPPDATA%\FrameStudio\build-x64\Frame Studio.exe` (the folder ends in your architecture).
@@ -43,6 +43,8 @@ scripts/build-studio.sh TARGET... [--build-dir DIR]
```
Each target is built and packed into `dist/`. `scripts/build-studio.sh --help` lists them.
The script uses `build/frame-home/payload` when present. Set `FRAME_HOME_PAYLOAD_DIR` to use a payload from another
location.
| Target | Build on | Output |
|---|---|---|
+8 -1
View File
@@ -16,7 +16,7 @@ set -eu
ROOT=$(cd "$(dirname "$0")/.." && pwd)
DIST="$ROOT/dist"
BUILD="$ROOT/build"
FRAME_PAYLOAD_DIR=${FRAME_HOME_PAYLOAD_DIR:-"$ROOT/frame/payload"}
FRAME_PAYLOAD_DIR=${FRAME_HOME_PAYLOAD_DIR:-}
CMAKE=${CMAKE:-cmake}
TARGETS=""
while [ $# -gt 0 ]; do
@@ -27,8 +27,15 @@ while [ $# -gt 0 ]; do
esac
done
[ -n "$TARGETS" ] || { sed -n '2,19p' "$0"; exit 1; }
if [ -z "$FRAME_PAYLOAD_DIR" ]; then
for candidate in "$BUILD/frame-home/payload" "$ROOT/build/frame-home/payload"; do
if [ -d "$candidate" ]; then FRAME_PAYLOAD_DIR=$candidate; break; fi
done
[ -n "$FRAME_PAYLOAD_DIR" ] || FRAME_PAYLOAD_DIR="$ROOT/frame/payload"
fi
mkdir -p "$DIST" "$BUILD"
say() { echo "build-studio: $*"; }
say "using Frame Home payload: $FRAME_PAYLOAD_DIR"
if [ "$TARGETS" = " all" ]; then
case "$(uname -s)" in