1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
#!/bin/sh
# Copyright 2019-2022 Collabora Ltd.
# SPDX-License-Identifier: Zlib
# (see "zlib/libpng" in debian/copyright)
set -eux
WORKDIR="$(mktemp -d)"
cleanup () {
rm -fr "$WORKDIR"
}
if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then
cat <<EOF > "$WORKDIR/toolchain.cmake"
set(CMAKE_C_COMPILER $DEB_HOST_GNU_TYPE-gcc)
set(CMAKE_CXX_COMPILER $DEB_HOST_GNU_TYPE-g++)
set(PKG_CONFIG_EXECUTABLE $DEB_HOST_GNU_TYPE-pkgconf)
EOF
CCFILE=-DCMAKE_TOOLCHAIN_FILE="$WORKDIR/toolchain.cmake"
else
CCFILE=
fi
invoke_cmake () {
if cmake $CCFILE "$@"; then
return 0
fi
tail -v -n +0 CMakeCache.txt || :
tail -v -n +0 CMakeFiles/CMakeOutput.log || :
tail -v -n +0 CMakeFiles/CMakeError.log || :
return 1
}
srcdir="$(pwd)"
mkdir "$WORKDIR/targets"
(
cd "$WORKDIR/targets"
invoke_cmake "$srcdir/debian/tests/cmake-targets"
)
make -C "$WORKDIR/targets" VERBOSE=1
"$WORKDIR/targets/hello"
make -C "$WORKDIR/targets" VERBOSE=1 clean
mkdir "$WORKDIR/example"
(
cd "$WORKDIR/example"
invoke_cmake "$srcdir/debian/tests/cmake-example"
)
make -C "$WORKDIR/example" VERBOSE=1
"$WORKDIR/example/hello"
make -C "$WORKDIR/example" VERBOSE=1 clean
mkdir "$WORKDIR/main"
(
cd "$WORKDIR/main"
invoke_cmake "$srcdir/debian/tests/cmake-main"
)
make -C "$WORKDIR/main" VERBOSE=1
(
export SDL_AUDIO_DRIVER=dummy
export SDL_VIDEO_DRIVER=dummy
"$WORKDIR/main/program"
)
make -C "$WORKDIR/main" VERBOSE=1 clean
mkdir "$WORKDIR/static"
(
cd "$WORKDIR/static"
invoke_cmake "$srcdir/debian/tests/cmake-static"
)
make -C "$WORKDIR/static" VERBOSE=1
"$WORKDIR/static/hello"
make -C "$WORKDIR/static" VERBOSE=1 clean
|