diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/ci-build.sh | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tools/ci-build.sh b/tools/ci-build.sh new file mode 100755 index 0000000..a7d79b1 --- /dev/null +++ b/tools/ci-build.sh | |||
@@ -0,0 +1,49 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euo pipefail | ||
4 | set -x | ||
5 | |||
6 | # ci_buildsys: | ||
7 | # Build system under test: Makefile or cmake | ||
8 | : "${ci_buildsys:=cmake}" | ||
9 | |||
10 | # ci_target: | ||
11 | # target to build for | ||
12 | : "${ci_target:=${CROSS_COMPILE%-}}" | ||
13 | |||
14 | install_prefix=$(${ci_target}-gcc --print-sysroot)/${ci_target} | ||
15 | |||
16 | case "$ci_buildsys" in | ||
17 | (Makefile) | ||
18 | ./configure --enable-shared --enable-static --enable-wine --cross-prefix=${ci_target}- | ||
19 | make | ||
20 | make test | ||
21 | ;; | ||
22 | |||
23 | (cmake) | ||
24 | cmake --version | ||
25 | rm -rf build | ||
26 | mkdir build | ||
27 | cd build | ||
28 | cmake \ | ||
29 | --no-warn-unused-cli \ | ||
30 | -DCMAKE_FIND_ROOT_PATH=$install_prefix \ | ||
31 | -DCMAKE_BUILD_TYPE=RelWithDebInfo \ | ||
32 | -DCMAKE_C_COMPILER=$(which ${ci_target}-gcc) \ | ||
33 | -DCMAKE_SYSTEM_PROCESSOR=${ci_target%-*-*} \ | ||
34 | -DCMAKE_CROSSCOMPILING=TRUE \ | ||
35 | -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ | ||
36 | -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ | ||
37 | -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ | ||
38 | -DCMAKE_SYSTEM_NAME=Windows \ | ||
39 | -DBUILD_TESTS=1 \ | ||
40 | -DENABLE_WINE=ON \ | ||
41 | -DWINE_EXECUTABLE=/usr/bin/wine \ | ||
42 | .. | ||
43 | make | ||
44 | ctest --output-on-failure | ||
45 | make install DESTDIR=$(pwd)/DESTDIR | ||
46 | ;; | ||
47 | esac | ||
48 | |||
49 | # vim:set sw=4 sts=4 et: | ||