#!/bin/bash set -ev git submodule update --init # Corrade git clone --depth 1 git://github.com/mosra/corrade.git cd corrade # Build native corrade-rc mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$HOME/deps-native \ -DWITH_INTERCONNECT=OFF \ -DWITH_PLUGINMANAGER=OFF \ -DWITH_TESTSUITE=OFF \ -DWITH_UTILITY=OFF \ -G Ninja ninja install cd .. # Crosscompile Corrade mkdir build-emscripten && cd build-emscripten cmake .. \ -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ -DCMAKE_TOOLCHAIN_FILE="../../toolchains/generic/Emscripten-wasm.cmake" \ -DEMSCRIPTEN_PREFIX=$(echo /usr/local/Cellar/emscripten/*/libexec) \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG -O1" \ -DCMAKE_EXE_LINKER_FLAGS_RELEASE="-O1" \ -DCMAKE_INSTALL_PREFIX=$HOME/deps \ -DWITH_INTERCONNECT=OFF \ -G Ninja ninja install cd .. cd .. # Crosscompile mkdir build-emscripten && cd build-emscripten cmake .. \ -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ -DCMAKE_TOOLCHAIN_FILE="../toolchains/generic/Emscripten-wasm.cmake" \ -DEMSCRIPTEN_PREFIX=$(echo /usr/local/Cellar/emscripten/*/libexec) \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG -O1" \ -DCMAKE_EXE_LINKER_FLAGS_RELEASE="-O1" \ -DCMAKE_INSTALL_PREFIX=$HOME/deps \ -DCMAKE_FIND_ROOT_PATH=$HOME/deps \ -DWITH_AUDIO=ON \ -DWITH_VK=OFF \ -DWITH_EMSCRIPTENAPPLICATION=ON \ -DWITH_SDL2APPLICATION=ON \ -DWITH_WINDOWLESSEGLAPPLICATION=ON \ -DWITH_ANYAUDIOIMPORTER=ON \ -DWITH_ANYIMAGECONVERTER=ON \ -DWITH_ANYIMAGEIMPORTER=ON \ -DWITH_ANYSCENEIMPORTER=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=ON \ -DWITH_OBJIMPORTER=ON \ -DWITH_TGAIMAGECONVERTER=ON \ -DWITH_TGAIMPORTER=ON \ -DWITH_WAVAUDIOIMPORTER=ON \ -DWITH_GL_INFO=ON \ -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ -DBUILD_AL_TESTS=ON \ -DBUILD_GL_TESTS=ON \ -DTARGET_GLES2=$TARGET_GLES2 \ -G Ninja # Otherwise the job gets killed (probably because using too much memory) ninja -j4 # Test CORRADE_TEST_COLOR=ON ctest -V -E "(GL|AL)Test" # Test install, after running the tests as for them it shouldn't be needed ninja install