cmake: add workaround for CMP0148
[piglit.git] / .gitlab-ci / build-mingw.sh
blob1246f0bfa4d5416ccf832eb5ce89e1e444e8e683
1 #!/bin/bash
3 if [ $# -lt 1 ]
4 then
5 echo "usage: $0 mingw32|mingw64 [...]" 2>&1
6 exit 1
7 fi
9 if [ -d /usr/lib/ccache ]
10 then
11 export PATH=/usr/lib/ccache:$PATH
14 set -e -x
16 for target
19 if [ "$GITLAB_CI" = "true" ]
20 then
21 # See debian-install.sh
22 waffleDir=/opt/waffle/$target/waffle
23 else
24 # For local testing purposes only
25 waffleDir=$PWD/external/$target/waffle
26 if [ ! -d $waffleDir ]
27 then
28 mkdir -p external/$target
29 if [ ! -f external/waffle-$target.zip ]
30 then
31 curl -s -L "https://gitlab.freedesktop.org/mesa/waffle/-/jobs/artifacts/${WAFFLE_BRANCH:-maint-1.7}/raw/publish/$target/waffle-$target.zip?job=cmake-mingw" -o external/waffle-$target.zip
33 unzip -qo external/waffle-$target.zip -d external/$target
37 test -d $waffleDir
39 if [ -n "$CI_COMMIT_TAG" -a "$target" = "mingw32" ]
40 then
41 buildType=MinSizeRel
42 packageTarget=package
43 else
44 buildType=Debug
45 packageTarget=install
48 cmake \
49 -S . \
50 -B build/$target \
51 -G "Ninja" \
52 -DCMAKE_TOOLCHAIN_FILE=.gitlab-ci/$target.cmake \
53 -DCMAKE_BUILD_TYPE=$buildType \
54 -DCMAKE_INSTALL_PREFIX=publish/$target \
55 -DPIGLIT_USE_WAFFLE=TRUE \
56 -DWaffle_INCLUDE_DIRS=$waffleDir/include/waffle-1 \
57 -DWaffle_LDFLAGS=$waffleDir/lib/libwaffle-1.dll.a \
58 -DWaffle_DLL=$waffleDir/bin/waffle-1.dll
60 cmake --build build/$target -j${FDO_CI_CONCURRENT:-4}
62 cmake --build build/$target --target $packageTarget -j${FDO_CI_CONCURRENT:-4}
64 done