1#!/bin/bash
2set -ev
3
4git clone --depth 1 git://github.com/mosra/corrade.git
5cd corrade
6
7# Build native corrade-rc
8mkdir build && cd build || exit /b
9cmake .. \
10    -DCMAKE_BUILD_TYPE=Release \
11    -DCMAKE_INSTALL_PREFIX=$HOME/deps-native \
12    -DWITH_INTERCONNECT=OFF \
13    -DWITH_PLUGINMANAGER=OFF \
14    -DWITH_TESTSUITE=OFF \
15    -DWITH_UTILITY=OFF \
16    -G Ninja
17ninja install
18cd ..
19
20# Crosscompile Corrade
21mkdir build-android-arm && cd build-android-arm
22cmake .. \
23    -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r16b \
24    -DCMAKE_SYSTEM_NAME=Android \
25    -DCMAKE_SYSTEM_VERSION=22 \
26    -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \
27    -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
28    -DCMAKE_ANDROID_STL_TYPE=c++_static \
29    -DCMAKE_BUILD_TYPE=Release \
30    -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
31    -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/android-ndk-r16b/platforms/android-22/arch-arm64/usr \
32    -DCORRADE_INCLUDE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/android-ndk-r16b/sysroot/usr \
33    -DWITH_INTERCONNECT=OFF \
34    -DWITH_TESTSUITE=OFF \
35    -G Ninja
36ninja install
37cd ../..
38
39# Crosscompile Magnum
40git clone --depth 1 git://github.com/mosra/magnum.git
41cd magnum
42mkdir build-android-arm && cd build-android-arm
43cmake .. \
44    -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r16b \
45    -DCMAKE_SYSTEM_NAME=Android \
46    -DCMAKE_SYSTEM_VERSION=22 \
47    -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \
48    -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
49    -DCMAKE_ANDROID_STL_TYPE=c++_static \
50    -DCMAKE_BUILD_TYPE=Release \
51    -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
52    -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/android-ndk-r16b/platforms/android-22/arch-arm64/usr \
53    -DMAGNUM_INCLUDE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/android-ndk-r16b/sysroot/usr \
54    -DWITH_AUDIO=OFF \
55    -DWITH_DEBUGTOOLS=ON \
56    -DWITH_MESHTOOLS=ON \
57    -DWITH_PRIMITIVES=ON \
58    -DWITH_SCENEGRAPH=ON \
59    -DWITH_SHADERS=ON \
60    -DWITH_TEXT=ON \
61    -DWITH_TEXTURETOOLS=ON \
62    -DWITH_TRADE=ON \
63    -DWITH_SDL2APPLICATION=OFF \
64    -DWITH_ANDROIDAPPLICATION=ON \
65    -DTARGET_GLES2=$TARGET_GLES2 \
66    -G Ninja
67ninja install
68cd ../..
69
70# Crosscompile Magnum Integration
71git clone --depth 1 git://github.com/mosra/magnum-integration.git
72cd magnum-integration
73mkdir build-android-arm && cd build-android-arm
74cmake .. \
75    -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r16b \
76    -DCMAKE_SYSTEM_NAME=Android \
77    -DCMAKE_SYSTEM_VERSION=22 \
78    -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \
79    -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
80    -DCMAKE_ANDROID_STL_TYPE=c++_static \
81    -DCMAKE_BUILD_TYPE=Release \
82    -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
83    -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/android-ndk-r16b/platforms/android-22/arch-arm64/usr \
84    -DMAGNUM_INCLUDE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/android-ndk-r16b/sysroot/usr \
85    -DIMGUI_DIR=$HOME/imgui \
86    -DWITH_BULLET=OFF \
87    -DWITH_DART=OFF \
88    -DWITH_IMGUI=$TARGET_GLES3 \
89    -DWITH_OVR=OFF \
90    -G Ninja
91ninja install
92cd ../..
93
94# Crosscompile Magnum Extras
95git clone --depth 1 git://github.com/mosra/magnum-extras.git
96cd magnum-extras
97mkdir build-android-arm && cd build-android-arm
98cmake .. \
99    -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r16b \
100    -DCMAKE_SYSTEM_NAME=Android \
101    -DCMAKE_SYSTEM_VERSION=22 \
102    -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \
103    -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
104    -DCMAKE_ANDROID_STL_TYPE=c++_static \
105    -DCMAKE_BUILD_TYPE=Release \
106    -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
107    -DCMAKE_INSTALL_PREFIX=$HOME/deps \
108    -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/android-ndk-r16b/platforms/android-22/arch-arm64/usr \
109    -DMAGNUM_INCLUDE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/android-ndk-r16b/sysroot/usr \
110    -DWITH_UI=OFF \
111    -G Ninja
112ninja install
113cd ../..
114
115export ANDROID_NDK_HOME=$TRAVIS_BUILD_DIR/android-ndk-r16b
116export CMAKE_PREFIX_PATH=$HOME/deps-native/
117