|
|
|
|
#!/bin/bash
|
|
|
|
|
set -ev
|
|
|
|
|
|
|
|
|
|
# Corrade
|
|
|
|
|
git clone --depth 1 https://github.com/mosra/corrade.git
|
|
|
|
|
cd corrade
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
cmake .. \
|
|
|
|
|
-DCMAKE_INSTALL_PREFIX=$HOME/deps \
|
|
|
|
|
-DCMAKE_INSTALL_RPATH=$HOME/deps/lib \
|
|
|
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
|
|
|
-DMAGNUM_BUILD_DEPRECATED=$BUILD_DEPRECATED \
|
|
|
|
|
-DCORRADE_BUILD_STATIC=$BUILD_STATIC \
|
|
|
|
|
-DCORRADE_WITH_INTERCONNECT=OFF \
|
|
|
|
|
-DCORRADE_WITH_PLUGINMANAGER=ON \
|
|
|
|
|
-DCORRADE_WITH_TESTSUITE=ON \
|
|
|
|
|
-G Ninja
|
|
|
|
|
ninja install
|
|
|
|
|
cd ../..
|
|
|
|
|
|
|
|
|
|
# Magnum
|
|
|
|
|
git clone --depth 1 https://github.com/mosra/magnum.git
|
|
|
|
|
cd magnum
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
cmake .. \
|
|
|
|
|
-DCMAKE_INSTALL_PREFIX=$HOME/deps \
|
|
|
|
|
-DCMAKE_INSTALL_RPATH=$HOME/deps/lib \
|
|
|
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
|
|
|
-DMAGNUM_BUILD_DEPRECATED=$BUILD_DEPRECATED \
|
|
|
|
|
-DMAGNUM_BUILD_STATIC=$BUILD_STATIC \
|
|
|
|
|
-DMAGNUM_WITH_AUDIO=OFF \
|
|
|
|
|
-DMAGNUM_WITH_DEBUGTOOLS=OFF \
|
|
|
|
|
-DMAGNUM_WITH_GL=ON \
|
|
|
|
|
-DMAGNUM_WITH_MATERIALTOOLS=ON \
|
|
|
|
|
-DMAGNUM_WITH_MESHTOOLS=ON \
|
|
|
|
|
-DMAGNUM_WITH_PRIMITIVES=ON \
|
|
|
|
|
-DMAGNUM_WITH_SCENEGRAPH=ON \
|
|
|
|
|
-DMAGNUM_WITH_SCENETOOLS=ON \
|
|
|
|
|
-DMAGNUM_WITH_SHADERS=ON \
|
|
|
|
|
-DMAGNUM_WITH_SHADERTOOLS=OFF \
|
|
|
|
|
-DMAGNUM_WITH_TEXT=ON \
|
|
|
|
|
-DMAGNUM_WITH_TEXTURETOOLS=OFF \
|
|
|
|
|
-DMAGNUM_WITH_TRADE=ON \
|
|
|
|
|
-DMAGNUM_WITH_VK=OFF \
|
|
|
|
|
-DMAGNUM_WITH_GLFWAPPLICATION=ON \
|
|
|
|
|
-DMAGNUM_WITH_SDL2APPLICATION=ON \
|
|
|
|
|
-DMAGNUM_WITH_WINDOWLESS${PLATFORM_GL_API}APPLICATION=ON \
|
|
|
|
|
-DMAGNUM_WITH_ANYIMAGEIMPORTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_ANYSCENECONVERTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_ANYSCENEIMPORTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_TGAIMPORTER=ON \
|
|
|
|
|
-G Ninja
|
|
|
|
|
|
|
|
|
|
# In case of a static build there's no way for the test to know the plugin
|
|
|
|
|
# install directory so we have to hardcode it
|
|
|
|
|
if [ "$BUILD_STATIC" == "ON" ]; then
|
|
|
|
|
cmake . -DMAGNUM_PLUGINS_DIR=$HOME/deps/lib/magnum
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
ninja install
|
|
|
|
|
cd ../..
|
|
|
|
|
|
|
|
|
|
# Magnum Plugins
|
|
|
|
|
git clone --depth 1 https://github.com/mosra/magnum-plugins.git
|
|
|
|
|
cd magnum-plugins
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
cmake .. \
|
|
|
|
|
-DCMAKE_INSTALL_PREFIX=$HOME/deps \
|
|
|
|
|
-DCMAKE_INSTALL_RPATH=$HOME/deps/lib \
|
|
|
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
|
|
|
-DMAGNUM_BUILD_STATIC=$BUILD_STATIC \
|
|
|
|
|
-DMAGNUM_WITH_BCDECIMAGECONVERTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_DDSIMPORTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_ETCDECIMAGECONVERTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_GLTFIMPORTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_GLTFSCENECONVERTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_KTXIMAGECONVERTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_MESHOPTIMIZERSCENECONVERTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_PRIMITIVEIMPORTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_STANFORDSCENECONVERTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_STBIMAGECONVERTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_STBIMAGEIMPORTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_STBRESIZEIMAGECONVERTER=ON \
|
|
|
|
|
-DMAGNUM_WITH_STBTRUETYPEFONT=ON \
|
|
|
|
|
-G Ninja
|
|
|
|
|
ninja install
|
|
|
|
|
cd ../..
|
|
|
|
|
|
|
|
|
|
# Build the thing
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
cmake .. \
|
|
|
|
|
-DCMAKE_CXX_FLAGS="--coverage" \
|
|
|
|
|
-DCMAKE_INSTALL_PREFIX=$HOME/deps \
|
|
|
|
|
-DCMAKE_BUILD_TYPE=Debug \
|
|
|
|
|
-DCMAKE_PREFIX_PATH=$HOME/pybind11 \
|
|
|
|
|
-DPYBIND11_PYTHON_VERSION=3.6 \
|
|
|
|
|
-DMAGNUM_WITH_PYTHON=ON \
|
|
|
|
|
-DMAGNUM_BUILD_TESTS=ON \
|
|
|
|
|
-G Ninja
|
|
|
|
|
ninja $NINJA_JOBS
|
|
|
|
|
|
|
|
|
|
CORRADE_TEST_COLOR=ON ctest -V
|
|
|
|
|
|
|
|
|
|
# Verify the setuptools install. Not using $CIRCLE_WORKING_DIRECTORY because
|
|
|
|
|
# it's ~ and that's not correctly expanded always.
|
|
|
|
|
cd src/python
|
|
|
|
|
python3 setup.py install --root="$(pwd)/../../install" --prefix=/usr
|
|
|
|
|
|
|
|
|
|
# Run tests & gather coverage
|
|
|
|
|
cd ../../../src/python/corrade
|
|
|
|
|
coverage run -m unittest -v
|
|
|
|
|
cp .coverage ../.coverage.corrade
|
|
|
|
|
|
|
|
|
|
cd ../magnum
|
|
|
|
|
MAGNUM_SKIP_GL_TESTS=ON coverage run -m unittest -v
|
|
|
|
|
cp .coverage ../.coverage.magnum
|
|
|
|
|
|
|
|
|
|
# Test docstring validity
|
|
|
|
|
cd ../../../doc/python
|
|
|
|
|
# I would use $CIRCLE_WORKING_DIRECTORY, but that's ~ and that's not expanded
|
|
|
|
|
# here for some reason
|
|
|
|
|
PYTHONPATH="$(pwd)/../../build/src/python" python3 -m doctest -v *.rst
|