1#!/bin/bash 2set -ev 3 4git submodule update --init 5 6git clone --depth 1 git://github.com/mosra/corrade.git 7cd corrade 8 9# Build native corrade-rc 10mkdir build && cd build || exit /b 11cmake .. \ 12 -DCMAKE_BUILD_TYPE=Release \ 13 -DCMAKE_INSTALL_PREFIX=$HOME/deps-native \ 14 -DWITH_INTERCONNECT=OFF \ 15 -DWITH_PLUGINMANAGER=OFF \ 16 -DWITH_TESTSUITE=OFF \ 17 -DWITH_UTILITY=OFF \ 18 -G Ninja 19ninja install 20cd .. 21 22# Crosscompile Corrade 23mkdir build-emscripten && cd build-emscripten 24cmake .. \ 25 -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ 26 -DCMAKE_TOOLCHAIN_FILE="../../toolchains/generic/Emscripten.cmake" \ 27 -DEMSCRIPTEN_PREFIX=$(echo /usr/local/Cellar/emscripten/*/libexec) \ 28 -DCMAKE_BUILD_TYPE=Release \ 29 -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG -O1" \ 30 -DCMAKE_EXE_LINKER_FLAGS_RELEASE="-O1" \ 31 -DCMAKE_INSTALL_PREFIX=$HOME/deps \ 32 -DWITH_INTERCONNECT=OFF \ 33 -DWITH_TESTSUITE=OFF \ 34 -G Ninja 35ninja install 36cd ../.. 37 38# Crosscompile Magnum 39git clone --depth 1 git://github.com/mosra/magnum.git 40cd magnum 41mkdir build-emscripten && cd build-emscripten 42cmake .. \ 43 -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ 44 -DCMAKE_TOOLCHAIN_FILE="../../toolchains/generic/Emscripten.cmake" \ 45 -DEMSCRIPTEN_PREFIX=$(echo /usr/local/Cellar/emscripten/*/libexec) \ 46 -DCMAKE_BUILD_TYPE=Release \ 47 -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG -O1" \ 48 -DCMAKE_EXE_LINKER_FLAGS_RELEASE="-O1" \ 49 -DCMAKE_INSTALL_PREFIX=$HOME/deps \ 50 -DCMAKE_FIND_ROOT_PATH=$HOME/deps \ 51 -DWITH_AUDIO=OFF \ 52 -DWITH_DEBUGTOOLS=ON \ 53 -DWITH_MESHTOOLS=ON \ 54 -DWITH_PRIMITIVES=ON \ 55 -DWITH_SCENEGRAPH=ON \ 56 -DWITH_SHADERS=ON \ 57 -DWITH_TEXT=ON \ 58 -DWITH_TEXTURETOOLS=ON \ 59 -DWITH_TRADE=ON \ 60 -DWITH_EMSCRIPTENAPPLICATION=ON \ 61 -DTARGET_GLES2=$TARGET_GLES2 \ 62 -G Ninja 63ninja install 64cd ../.. 65 66# Crosscompile Magnum Integration 67git clone --depth 1 git://github.com/mosra/magnum-integration.git 68cd magnum-integration 69mkdir build-emscripten && cd build-emscripten 70cmake .. \ 71 -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ 72 -DCMAKE_TOOLCHAIN_FILE="../../toolchains/generic/Emscripten.cmake" \ 73 -DEMSCRIPTEN_PREFIX=$(echo /usr/local/Cellar/emscripten/*/libexec) \ 74 -DCMAKE_BUILD_TYPE=Release \ 75 -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG -O1" \ 76 -DCMAKE_EXE_LINKER_FLAGS_RELEASE="-O1" \ 77 -DCMAKE_INSTALL_PREFIX=$HOME/deps \ 78 -DCMAKE_FIND_ROOT_PATH=$HOME/deps \ 79 -DIMGUI_DIR=$HOME/imgui \ 80 -DWITH_BULLET=OFF \ 81 -DWITH_DART=OFF \ 82 -DWITH_IMGUI=$TARGET_GLES3 \ 83 -DWITH_OVR=OFF \ 84 -G Ninja 85ninja install 86cd ../.. 87 88# Crosscompile Magnum Extras 89git clone --depth 1 git://github.com/mosra/magnum-extras.git 90cd magnum-extras 91mkdir build-emscripten && cd build-emscripten 92cmake .. \ 93 -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ 94 -DCMAKE_TOOLCHAIN_FILE="../../toolchains/generic/Emscripten.cmake" \ 95 -DEMSCRIPTEN_PREFIX=$(echo /usr/local/Cellar/emscripten/*/libexec) \ 96 -DCMAKE_BUILD_TYPE=Release \ 97 -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG -O1" \ 98 -DCMAKE_EXE_LINKER_FLAGS_RELEASE="-O1" \ 99 -DCMAKE_INSTALL_PREFIX=$HOME/deps \ 100 -DCMAKE_FIND_ROOT_PATH=$HOME/deps \ 101 -DWITH_UI=OFF \ 102 -G Ninja 103ninja install 104cd ../.. 105 106# Crosscompile 107mkdir build-emscripten && cd build-emscripten 108cmake .. \ 109 -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ 110 -DCMAKE_TOOLCHAIN_FILE="../toolchains/generic/Emscripten.cmake" \ 111 -DEMSCRIPTEN_PREFIX=$(echo /usr/local/Cellar/emscripten/*/libexec) \ 112 -DCMAKE_BUILD_TYPE=Release \ 113 -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG -O1" \ 114 -DCMAKE_EXE_LINKER_FLAGS_RELEASE="-O1" \ 115 -DCMAKE_INSTALL_PREFIX=$HOME/deps \ 116 -DCMAKE_FIND_ROOT_PATH=$HOME/deps \ 117 -DIMGUI_DIR=$HOME/imgui \ 118 -DWITH_AREALIGHTS_EXAMPLE=OFF \ 119 -DWITH_AUDIO_EXAMPLE=OFF \ 120 -DWITH_BOX2D_EXAMPLE=OFF \ 121 -DWITH_BULLET_EXAMPLE=OFF \ 122 -DWITH_CUBEMAP_EXAMPLE=OFF \ 123 -DWITH_DART_EXAMPLE=OFF \ 124 -DWITH_IMGUI_EXAMPLE=$TARGET_GLES3 \ 125 -DWITH_MOTIONBLUR_EXAMPLE=OFF \ 126 -DWITH_MOUSEINTERACTION_EXAMPLE=OFF \ 127 -DWITH_OVR_EXAMPLE=OFF \ 128 -DWITH_PICKING_EXAMPLE=OFF \ 129 -DWITH_PRIMITIVES_EXAMPLE=OFF \ 130 -DWITH_SHADOWS_EXAMPLE=OFF \ 131 -DWITH_TEXT_EXAMPLE=OFF \ 132 -DWITH_TEXTUREDTRIANGLE_EXAMPLE=OFF \ 133 -DWITH_TRIANGLE_EXAMPLE=OFF \ 134 -DWITH_TRIANGLE_PLAIN_GLFW_EXAMPLE=OFF \ 135 -DWITH_TRIANGLE_SOKOL_EXAMPLE=OFF \ 136 -DWITH_VIEWER_EXAMPLE=OFF \ 137 -DWITH_WEBVR_EXAMPLE=ON \ 138 -G Ninja 139# Otherwise the job gets killed (probably because using too much memory) 140ninja -j4 141