VizTyp/scripts/build-sidecar.sh

32 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# 构建并放置 sidecar 后端二进制 (带 target-triple 后缀, Tauri 要求)
# Build and place the sidecar backend binary (with target-triple suffix, required by Tauri)
#
# 用法 / Usage:
# yarn server:build # 用宿主 target
# TAURI_ENV_TARGET_TRIPLE=x86_64-pc-windows-msvc yarn server:build # 交叉编译
set -e
# 目标 triple: 优先用 Tauri 注入的环境变量, 否则用宿主 / Target triple
TRIPLE="${TAURI_ENV_TARGET_TRIPLE:-$(rustc --print host-tuple)}"
echo "🏗️ 构建 sidecar (target: $TRIPLE) / Building sidecar (target: $TRIPLE)"
cd "$(dirname "$0")/.."
# 构建 server (release) / Build server (release)
cargo build --release --manifest-path server/Cargo.toml --target "$TRIPLE"
# 放置带 triple 后缀的二进制 / Place binary with triple suffix
mkdir -p src-tauri/binaries
BIN_SRC="server/target/$TRIPLE/release/viztyp-server"
BIN_DST="src-tauri/binaries/viztyp-server-$TRIPLE"
# Windows 交叉编译时加 .exe / Append .exe for Windows cross-compile
if [[ "$TRIPLE" == *windows* ]]; then
BIN_SRC="$BIN_SRC.exe"
BIN_DST="$BIN_DST.exe"
fi
cp "$BIN_SRC" "$BIN_DST"
echo "✅ sidecar 已放置 / sidecar placed: $BIN_DST"