You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

114 lines
3.5 KiB

#!/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 \
-DCORRADE_BUILD_DEPRECATED=OFF \
-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_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="$HOME/swiftshader;$HOME/pybind11" \
-DCMAKE_INSTALL_RPATH="$HOME/deps/lib;$HOME/swiftshader/lib" \
-DMAGNUM_BUILD_DEPRECATED=OFF \
-DMAGNUM_TARGET_GLES=ON \
-DMAGNUM_TARGET_GLES2=$TARGET_GLES2 \
-DMAGNUM_WITH_AUDIO=OFF \
-DMAGNUM_WITH_DEBUGTOOLS=OFF \
-DMAGNUM_WITH_GL=ON \
-DMAGNUM_WITH_MATERIALTOOLS=OFF \
-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_WINDOWLESSEGLAPPLICATION=ON \
-DMAGNUM_WITH_ANYIMAGEIMPORTER=ON \
-DMAGNUM_WITH_ANYSCENECONVERTER=ON \
-DMAGNUM_WITH_TGAIMPORTER=ON \
-G Ninja
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_BUILD_TYPE=Release \
`# StanfordSceneConverter uses MeshTools which rely on GL which looks` \
`# for OpenGLES. And the RPATH entry needs to be there as well,` \
`# otherwise it won't load.` \
-DCMAKE_PREFIX_PATH=$HOME/swiftshader \
-DCMAKE_INSTALL_RPATH="$HOME/deps/lib;$HOME/swiftshader/lib" \
-DMAGNUM_BUILD_STATIC=$BUILD_STATIC \
-DMAGNUM_WITH_DDSIMPORTER=ON \
-DMAGNUM_WITH_GLTFIMPORTER=ON \
-DMAGNUM_WITH_GLTFSCENECONVERTER=ON \
-DMAGNUM_WITH_MESHOPTIMIZERSCENECONVERTER=ON \
-DMAGNUM_WITH_PRIMITIVEIMPORTER=ON \
-DMAGNUM_WITH_STANFORDSCENECONVERTER=ON \
-DMAGNUM_WITH_STBIMAGECONVERTER=ON \
-DMAGNUM_WITH_STBIMAGEIMPORTER=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/swiftshader;$HOME/pybind11" \
-DCMAKE_INSTALL_RPATH="$HOME/deps/lib;$HOME/swiftshader/lib" \
-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
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