#!/usr/bin/env bash set -euo pipefail REGISTRY_ROOT="${FN_REGISTRY_ROOT:-$(cd "$(dirname "$0")/../../.." && pwd)}" CPP_ROOT="$REGISTRY_ROOT/cpp" BUILD_DIR="$CPP_ROOT/build/linux" TARGET="${1:-}" # Configure if needed if [ ! -f "$BUILD_DIR/CMakeCache.txt" ]; then echo "[build_cpp_linux] Configuring cmake..." cmake -B "$BUILD_DIR" -S "$CPP_ROOT" fi # Build if [ -n "$TARGET" ]; then echo "[build_cpp_linux] Building target: $TARGET" cmake --build "$BUILD_DIR" --target "$TARGET" -- -j"$(nproc)" else echo "[build_cpp_linux] Building all targets..." cmake --build "$BUILD_DIR" -- -j"$(nproc)" fi echo "[build_cpp_linux] Done. Binaries in $BUILD_DIR"