]> git.lizzy.rs Git - irrlicht.git/blob - scripts/ci-build-mingw.sh
8173aa64bd29f91803192974ce843e16918b92f3
[irrlicht.git] / scripts / ci-build-mingw.sh
1 #!/bin/bash -e
2
3 [[ -z "$CC" || -z "$CXX" ]] && exit 255
4
5 variant=win32
6 [[ "$(basename "$CXX")" == "x86_64-"* ]] && variant=win64
7
8 libjpeg_version=2.1.2
9 libpng_version=1.6.37
10 zlib_version=1.2.11
11
12 mkdir -p libs
13 pushd libs
14 libs=$PWD
15 tmp=
16 [ "$variant" = win32 ] && tmp=dw2/
17 [ -e libjpeg.zip ] || \
18         wget "http://minetest.kitsunemimi.pw/libjpeg-$libjpeg_version-$variant.zip" -O libjpeg.zip
19 [ -e libpng.zip ] || \
20         wget "http://minetest.kitsunemimi.pw/${tmp}libpng-$libpng_version-$variant.zip" -O libpng.zip
21 [ -e zlib.zip ] || \
22         wget "http://minetest.kitsunemimi.pw/${tmp}zlib-$zlib_version-$variant.zip" -O zlib.zip
23 [ -d libjpeg ] || unzip -o libjpeg.zip -d libjpeg
24 [ -d libpng ] || unzip -o libpng.zip -d libpng
25 [ -d zlib ] || unzip -o zlib.zip -d zlib
26 popd
27
28 tmp=(
29         -DCMAKE_SYSTEM_NAME=Windows \
30         -DPNG_LIBRARY=$libs/libpng/lib/libpng.dll.a \
31         -DPNG_PNG_INCLUDE_DIR=$libs/libpng/include \
32         -DJPEG_LIBRARY=$libs/libjpeg/lib/libjpeg.dll.a \
33         -DJPEG_INCLUDE_DIR=$libs/libjpeg/include \
34         -DZLIB_LIBRARY=$libs/zlib/lib/libz.dll.a \
35         -DZLIB_INCLUDE_DIR=$libs/zlib/include
36 )
37
38 cmake . "${tmp[@]}"
39 make -j$(nproc)
40
41 if [ "$1" = "package" ]; then
42         make DESTDIR=$PWD/_install install
43         # strip library
44         "${CXX%-*}-strip" --strip-unneeded _install/usr/local/lib/*.dll
45         # bundle the DLLs that are specific to Irrlicht (kind of a hack)
46         cp -p $libs/*/bin/lib{jpeg,png}*.dll _install/usr/local/lib/
47         # create a ZIP
48         (cd _install/usr/local; zip -9r "$OLDPWD"/irrlicht-$variant.zip -- *)
49 fi
50 exit 0