#!/bin/bash
# SPDX-License-Identifier: MIT
# Copyright (c) 2020,2026 Nicholas Guriev <guriev-ns@ya.ru>
set -e -u

what=$(basename "$0")
cppstd="${what#*std}"
parallel="$(nproc)"

prefix_dir="${AUTOPKGTEST_TMP}/root"
gtest_dir="${AUTOPKGTEST_TMP}/googletest"
msgsl_dir="${AUTOPKGTEST_TMP}/ms-gsl"

BASH_XTRACEFD=1
set -x

cmake -B "${gtest_dir}" -S /usr/src/googletest \
  -DCMAKE_C_COMPILER=true \
  -DCMAKE_CXX_COMPILER=clang++ \
  -DCMAKE_CXX_FLAGS="-stdlib=libc++" \
  -DCMAKE_INSTALL_PREFIX="${prefix_dir}" \
  -DBUILD_GMOCK=OFF
cmake --build "${gtest_dir}" -v
cmake --install "${gtest_dir}"

cmake -B "${msgsl_dir}" -S tests \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_CXX_COMPILER=clang++ \
  -DCMAKE_CXX_FLAGS="-std=c++${cppstd} -stdlib=libc++" \
  -DCMAKE_PREFIX_PATH="${prefix_dir}" \
  -DGSL_CXX_STANDARD="${cppstd}"
cmake --build "${msgsl_dir}" "-j${parallel:-1}" -v
ctest --test-dir "${msgsl_dir}" "-j${parallel:-1}" -V
