#!/bin/bash

# $1 Source path of the project.
# $2 Target architecture list.

SRC=$1
NAME=$(dirname $SRC)
ARCHS=$2

if [ -z "$SRC" ]
then
    echo You need to provide a source path.
    return
fi

if [ -z "$ARCHS" ]
then
    ARCHS="linux-arm linux-arm64 linux-x64 win-x64 win-x86"
fi

cd $SRC

for ARCH in $ARCHS; do
    # Output directory.
    PREFIX=runtimes/$ARCH/native
    # Build directory.
    BUILD=out/$ARCH
    # Cmake toolchain file.
    TOOLCHAIN=../cmake/$ARCH.cmake

    # Create directories.
    mkdir -p $PREFIX $BUILD
    # Configure CMAKE.
    cmake -B $BUILD -S . \
        -G Ninja \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=$PREFIX \
        -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN

    # Build and install.
    ninja -C $BUILD all
    ninja -C $BUILD install
done
