#!/bin/bash

set -euo pipefail

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"

export CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:-Debug}"

output_dir="${SCRIPT_DIR}/output"

# Function to build a project
build_project() {
    local project="$1"
    local build_cmd=(docker build)

    
    local tag="${project}-build"
    
    "${build_cmd[@]}" \
        -t "${tag}" \
        -f "${SCRIPT_DIR}/Dockerfile.test-build" \
        --build-arg PROJECT="${project}" \
        --build-arg CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" \
        --output "${output_dir}" \
        "${SCRIPT_DIR}/${project}"
}

# Clean and prepare output directory
rm -rf "${output_dir}" 
mkdir -p "${output_dir}"

# Build all projects
echo "Building ipdemo..."
build_project "ipdemo"

echo "Building test_libs..."
build_project "test_libs"