1#!/bin/bash
2set -ev
3
4git submodule update --init
5
6# Corrade
7git clone --depth 1 git://github.com/mosra/corrade.git
8cd corrade
9
10# Build native corrade-rc
11mkdir build && cd build
12cmake .. \
13    -DCMAKE_BUILD_TYPE=Release \
14    -DCMAKE_INSTALL_PREFIX=$HOME/deps-native \
15    -DWITH_INTERCONNECT=OFF \
16    -DWITH_PLUGINMANAGER=OFF \
17    -DWITH_TESTSUITE=OFF \
18    -DWITH_UTILITY=OFF \
19    -G Ninja
20ninja install
21cd ..
22
23# Crosscompile Corrade
24mkdir build-ios && cd build-ios
25cmake .. \
26    -DCMAKE_TOOLCHAIN_FILE=../../toolchains/generic/iOS.cmake \
27    -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk \
28    -DCMAKE_OSX_ARCHITECTURES="x86_64" \
29    -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
30    -DCMAKE_INSTALL_PREFIX=$HOME/deps \
31    -DBUILD_STATIC=ON \
32    -DTESTSUITE_TARGET_XCTEST=ON \
33    -DWITH_INTERCONNECT=$TARGET_GLES3 \
34    -G Xcode
35set -o pipefail && cmake --build . --config Release --target install | xcpretty
36cd ../..
37
38# Crosscompile Magnum
39git clone --depth 1 git://github.com/mosra/magnum.git
40cd magnum
41mkdir build-ios && cd build-ios
42cmake .. \
43    -DCMAKE_TOOLCHAIN_FILE=../../toolchains/generic/iOS.cmake \
44    -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk \
45    -DCMAKE_OSX_ARCHITECTURES="x86_64" \
46    -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
47    -DCMAKE_INSTALL_PREFIX=$HOME/deps \
48    -DCMAKE_PREFIX_PATH=$TRAVIS_BUILD_DIR/sdl2 \
49    -DWITH_AUDIO=OFF \
50    -DWITH_DEBUGTOOLS=OFF \
51    -DWITH_MESHTOOLS=ON \
52    -DWITH_PRIMITIVES=$TARGET_GLES3 \
53    -DWITH_SCENEGRAPH=ON \
54    -DWITH_SHADERS=ON \
55    -DWITH_TEXT=$TARGET_GLES3 \
56    -DWITH_TEXTURETOOLS=$TARGET_GLES3 \
57    -DWITH_OPENGLTESTER=$TARGET_GLES3 \
58    -DWITH_WINDOWLESSIOSAPPLICATION=ON \
59    -DWITH_SDL2APPLICATION=ON \
60    -DTARGET_GLES2=$TARGET_GLES2 \
61    -DBUILD_STATIC=ON \
62    -G Xcode
63set -o pipefail && cmake --build . --config Release --target install | xcpretty
64cd ../..
65
66# Crosscompile Magnum Plugins
67git clone --depth 1 git://github.com/mosra/magnum-plugins.git
68cd magnum-plugins
69mkdir build-ios && cd build-ios
70cmake .. \
71    -DCMAKE_TOOLCHAIN_FILE=../../toolchains/generic/iOS.cmake \
72    -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk \
73    -DCMAKE_OSX_ARCHITECTURES="x86_64" \
74    -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
75    -DCMAKE_INSTALL_PREFIX=$HOME/deps \
76    -DCMAKE_BUILD_TYPE=Release \
77    -DWITH_STBTRUETYPEFONT=$TARGET_GLES3 \
78    -DBUILD_STATIC=ON \
79    -G Xcode
80set -o pipefail && cmake --build . --config Release --target install | xcpretty
81cd ../..
82
83# Crosscompile
84mkdir build-ios && cd build-ios
85cmake .. \
86    -DCMAKE_TOOLCHAIN_FILE=../toolchains/generic/iOS.cmake \
87    -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk \
88    -DCMAKE_OSX_ARCHITECTURES="x86_64" \
89    -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
90    -DCMAKE_PREFIX_PATH="$HOME/deps;$TRAVIS_BUILD_DIR/sdl2" \
91    -DBUILD_STATIC=ON \
92    -DWITH_PLAYER=$TARGET_GLES3 \
93    -DWITH_UI=$TARGET_GLES3 \
94    -DWITH_UI_GALLERY=$TARGET_GLES3 \
95    -DBUILD_TESTS=ON \
96    -DBUILD_GL_TESTS=ON \
97    -G Xcode
98set -o pipefail && cmake --build . --config Release | xcpretty
99
100# TODO: find a better way to avoid
101# Library not loaded: /System/Library/Frameworks/OpenGLES.framework/OpenGLES
102# error
103DYLD_FALLBACK_LIBRARY_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/OpenGLES.framework/ DYLD_FALLBACK_FRAMEWORK_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks CORRADE_TEST_COLOR=ON ctest -V -C Release -E GLTest
104