onmcp/scripts/build_cpp.sh

17 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
CXX="${CXX:-clang++}"
OUT="$ROOT/build/cpp"
mkdir -p "$OUT"
COMMON=("$ROOT/cpp/common/http.cpp" "$ROOT/cpp/common/json.cpp" "$ROOT/cpp/common/mcp.cpp")
FLAGS=(-std=c++17 -Wall -Wextra -Wpedantic -pthread -I"$ROOT/cpp")
"$CXX" "${FLAGS[@]}" "${COMMON[@]}" "$ROOT/cpp/mock_mcp_server/main.cpp" -o "$OUT/mock_mcp_server"
"$CXX" "${FLAGS[@]}" "${COMMON[@]}" "$ROOT/cpp/mock_calendar_server/main.cpp" -o "$OUT/mock_calendar_server"
MCPD=("$ROOT/cpp/mcpd/main.cpp" "$ROOT/cpp/mcpd/cache.cpp" "$ROOT/cpp/mcpd/router.cpp" "$ROOT/cpp/mcpd/discovery.cpp" "$ROOT/cpp/mcpd/handler.cpp" "$ROOT/cpp/mcpd/config.cpp" "$ROOT/cpp/mcpd/security.cpp")
"$CXX" "${FLAGS[@]}" "${COMMON[@]}" "${MCPD[@]}" -o "$OUT/mcpd"
"$CXX" "${FLAGS[@]}" "${COMMON[@]}" "$ROOT/cpp/client/main.cpp" -o "$OUT/oh_mcp_client"
"$CXX" "${FLAGS[@]}" "${COMMON[@]}" "$ROOT/cpp/bench/main.cpp" -o "$OUT/oh_mcp_bench"
"$CXX" "${FLAGS[@]}" "${COMMON[@]}" "$ROOT/cpp/bench_multi_agent/main.cpp" -o "$OUT/oh_mcp_multi_agent_bench"
echo "built C++ binaries in $OUT"