#!/usr/bin/env bash # 宿主机验收:配置 + 编译 + 跑全部单元测试。 # # 用 cygwin 的 cmake/make/gcc。两个坑,改这个脚本前先看一眼: # 1) Windows 版 CMake 配 cygwin gcc 会认错平台,所以显式用 /c/cygwin64/bin/cmake; # 2) cygwin cmake 只认 /cygdrive/... 路径,喂它 "D:/..." 会被当成相对路径 # (报 "Found relative path while evaluating include directories")。 # 所以这里先 cd 进目录,全部用相对路径,不传任何绝对路径进去。 set -euo pipefail CMAKE=${CMAKE:-/c/cygwin64/bin/cmake} CTEST=${CTEST:-/c/cygwin64/bin/ctest} cd "$(dirname "$0")" export CC=${CC:-gcc} # 走 PATH 里的 cygwin gcc;传绝对路径会被 Git Bash 的路径转换搞坏 "$CMAKE" -S . -B build -G "Unix Makefiles" >/dev/null "$CMAKE" --build build -j 4 "$CTEST" --test-dir build --output-on-failure