#!/bin/sh
# Copyright 2019-2026 Collabora Ltd.
# SPDX-License-Identifier: Zlib

set -eux

if [ -n "${AUTOPKGTEST_ARTIFACTS-}" ]; then
	WORKDIR="$AUTOPKGTEST_ARTIFACTS"
else
	WORKDIR="$(mktemp -d)"
	trap 'cd /; rm -fr "$WORKDIR"' 0 INT QUIT ABRT PIPE TERM
fi

if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then
    CROSS_COMPILE="$DEB_HOST_GNU_TYPE-"
else
    CROSS_COMPILE=
fi

cp examples/get-local-addrs.c "$WORKDIR"

mkdir "$WORKDIR/cmake"
cp ./cmake/test/CMakeLists.txt "$WORKDIR/cmake"
cp ./cmake/test/main.c "$WORKDIR/cmake"

mkdir "$WORKDIR/cmake-pkg-config"
cp cmake/test/main.c "$WORKDIR/cmake-pkg-config"
cp debian/tests/cmake-pkg-config/CMakeLists.txt "$WORKDIR/cmake-pkg-config"

cd "$WORKDIR"

# Deliberately word-splitting pkg-config's output:
# shellcheck disable=SC2046
"${CROSS_COMPILE}gcc" -oget-local-addrs get-local-addrs.c \
    $("${CROSS_COMPILE}pkgconf" --cflags --libs 'sdl3-net >= 3.0')

set -- xvfb-run -a -s '-screen 0 1280x1024x24 -noreset'

"$@" ./get-local-addrs

if [ -z "${DEB_HOST_GNU_TYPE:-}" ]; then
    mkdir cmake/_build
    ( cd cmake/_build; cmake -GNinja -DTEST_SHARED=ON -DTEST_STATIC=OFF .. )
    ninja -C cmake/_build
    ./cmake/_build/main_shared

    mkdir cmake-pkg-config/_build
    ( cd cmake-pkg-config/_build; cmake .. )
    make -C cmake-pkg-config/_build
    ./cmake-pkg-config/_build/main
fi
