#!/usr/bin/env bash set -euo pipefail BUILD_DIR="build" BUILD_TYPE="${1:-Release}" echo "🔨 Building C++ project (${BUILD_TYPE})" echo "======================================" # Create build directory mkdir -p "${BUILD_DIR}" cd "${BUILD_DIR}" # Configure echo "Configuring with CMake..." cmake .. -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" -DBUILD_TESTS=ON # Build echo "Building..." cmake --build . --parallel "$(nproc 2>/dev/null || echo 4)" # Run tests if enabled if [ "${BUILD_TYPE}" != "Release" ] || [ "${RUN_TESTS:-0}" = "1" ]; then echo "Running tests..." ctest --output-on-failure fi echo "" echo "✅ Build complete!" echo " Executable: ${BUILD_DIR}/ai_dev_project_app" echo " Library: ${BUILD_DIR}/libai_dev_project.*"