File: cmake

package info (click to toggle)
libsdl3 3.4.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 41,312 kB
  • sloc: ansic: 428,899; objc: 13,036; xml: 9,581; cpp: 8,769; perl: 4,667; python: 3,538; sh: 813; makefile: 271; cs: 56
file content (75 lines) | stat: -rwxr-xr-x 1,667 bytes parent folder | download | duplicates (3)
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