#!/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"