Vendored sashidown, OpenAI-compatible env (OPENAI_*), and bootstrap scripts. Co-authored-by: Cursor <cursoragent@cursor.com>
49 lines
1.5 KiB
Bash
Executable File
49 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# One-shot on a Linux host: cross-build Windows x86_64 release (MinGW).
|
|
# Output: dist/windows-x86_64/ — copy that folder to a Windows machine.
|
|
set -euo pipefail
|
|
|
|
REPO_URL="${CST_AGENT_REPO:-https://git.whcself.xyz/WHC/CST-agent.git}"
|
|
DIR="${1:-}"
|
|
|
|
if [[ -z "$DIR" ]]; then
|
|
if [[ -f CMakeLists.txt && -d src ]]; then
|
|
DIR="$(pwd)"
|
|
else
|
|
DIR="CST-agent"
|
|
fi
|
|
fi
|
|
|
|
if [[ ! -f "$DIR/CMakeLists.txt" ]]; then
|
|
echo "==> git clone $REPO_URL -> $DIR"
|
|
git clone "$REPO_URL" "$DIR"
|
|
fi
|
|
cd "$DIR"
|
|
|
|
need() { command -v "$1" >/dev/null || { echo "missing $1 (install mingw-w64 gcc cmake git)" >&2; exit 1; }; }
|
|
need git; need cmake; need x86_64-w64-mingw32-gcc
|
|
|
|
echo "==> third-party (curl Schannel + PDCurses + busybox-w32)"
|
|
chmod +x scripts/*.sh 2>/dev/null || true
|
|
./scripts/build_third_party_mingw.sh all
|
|
|
|
echo "==> cmake Windows TUI"
|
|
cmake -B build-win-tui \
|
|
-DCMAKE_TOOLCHAIN_FILE=cmake/mingw-w64-x86_64.cmake \
|
|
-DCST_BUILD_TUI=ON \
|
|
-DCMAKE_PREFIX_PATH="$PWD/third_party/prefix-mingw" \
|
|
-DPDCurses_ROOT="$PWD/third_party/prefix-mingw"
|
|
cmake --build build-win-tui -j"$(nproc 2>/dev/null || echo 4)"
|
|
|
|
echo "==> package"
|
|
./scripts/package_windows.sh
|
|
|
|
echo
|
|
echo "OK: dist/windows-x86_64/"
|
|
echo "Copy that folder to Windows, then:"
|
|
echo " set OPENAI_API_KEY=sk-..."
|
|
echo " set OPENAI_BASE_URL=https://api.openai.com/v1"
|
|
echo " set OPENAI_MODEL=gpt-4.1-mini"
|
|
echo " cst-agent.exe --workspace ."
|
|
echo "See docs/env_openai.md and docs/README-windows.md"
|