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.
 
 
 
 
 

87 lines
3.1 KiB

#!/bin/bash
set -ev
# Corrade
git clone --depth 1 https://github.com/mosra/corrade.git
cd corrade
mkdir build && cd build
cmake .. \
-DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \
-DCMAKE_INSTALL_PREFIX=$HOME/deps \
-DCMAKE_INSTALL_RPATH=$HOME/deps/lib \
-DCMAKE_BUILD_TYPE=$CONFIGURATION \
-DCORRADE_BUILD_DEPRECATED=$BUILD_DEPRECATED \
-DCORRADE_BUILD_STATIC=$BUILD_STATIC \
-DCORRADE_WITH_INTERCONNECT=OFF \
-G Ninja
ninja install
cd ../..
# Enabling both GL and Vulkan but not running rendering tests for either --
# that's done by separate GLES and Vulkan jobs. For GL it's because there's no
# way to test desktop GL on SwiftShader, for Vulkan it's because:
# - SwiftShader doesn't compile on GCC 4.8 and we *need* to test compile on
# that,
# - SwiftShader for macOS is built on 10.15 and we want to test on older
# versions as well
# so we need two jobs to verify both compilation and rendering.
#
# Not using CXXFLAGS in order to avoid affecting dependencies.
mkdir build && cd build
cmake .. \
-DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \
-DCMAKE_INSTALL_PREFIX=$HOME/deps \
-DCMAKE_BUILD_TYPE=$CONFIGURATION \
-DMAGNUM_WITH_AUDIO=ON \
-DMAGNUM_WITH_VK=ON \
-DMAGNUM_WITH_GLFWAPPLICATION=$BUILD_APPLICATIONS \
-DMAGNUM_WITH_SDL2APPLICATION=$BUILD_APPLICATIONS \
-DMAGNUM_WITH_WINDOWLESS${PLATFORM_GL_API}APPLICATION=ON \
-DMAGNUM_WITH_${PLATFORM_GL_API}CONTEXT=ON \
-DMAGNUM_WITH_OPENGLTESTER=ON \
-DMAGNUM_WITH_ANYAUDIOIMPORTER=ON \
-DMAGNUM_WITH_ANYIMAGECONVERTER=ON \
-DMAGNUM_WITH_ANYIMAGEIMPORTER=ON \
-DMAGNUM_WITH_ANYSCENECONVERTER=ON \
-DMAGNUM_WITH_ANYSCENEIMPORTER=ON \
-DMAGNUM_WITH_ANYSHADERCONVERTER=ON \
-DMAGNUM_WITH_MAGNUMFONT=ON \
-DMAGNUM_WITH_MAGNUMFONTCONVERTER=ON \
-DMAGNUM_WITH_OBJIMPORTER=ON \
-DMAGNUM_WITH_TGAIMAGECONVERTER=ON \
-DMAGNUM_WITH_TGAIMPORTER=ON \
-DMAGNUM_WITH_WAVAUDIOIMPORTER=ON \
-DMAGNUM_WITH_DISTANCEFIELDCONVERTER=ON \
-DMAGNUM_WITH_FONTCONVERTER=ON \
-DMAGNUM_WITH_IMAGECONVERTER=ON \
-DMAGNUM_WITH_SCENECONVERTER=ON \
-DMAGNUM_WITH_SHADERCONVERTER=ON \
-DMAGNUM_WITH_GL_INFO=ON \
-DMAGNUM_WITH_VK_INFO=ON \
-DMAGNUM_WITH_AL_INFO=ON \
-DMAGNUM_BUILD_TESTS=ON \
-DMAGNUM_BUILD_GL_TESTS=ON \
-DMAGNUM_BUILD_VK_TESTS=ON \
-DMAGNUM_BUILD_DEPRECATED=$BUILD_DEPRECATED \
-DMAGNUM_BUILD_STATIC=$BUILD_STATIC \
-DMAGNUM_BUILD_PLUGINS_STATIC=$BUILD_STATIC \
-G Ninja
ninja $NINJA_JOBS
ASAN_OPTIONS="color=always" LSAN_OPTIONS="color=always suppressions=$(pwd)/../package/ci/leaksanitizer.conf" TSAN_OPTIONS="color=always" CORRADE_TEST_COLOR=ON ctest -V -E "GLTest|GLBenchmark|VkTest"
# Test install, after running the tests as for them it shouldn't be needed
ninja install
cd ..
# Verify also compilation of the documentation image generators, if apps are
# built
if [ "$BUILD_APPLICATIONS" != "OFF" ]; then
mkdir build-doc-generated && cd build-doc-generated
cmake ../doc/generated \
-DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \
-DCMAKE_PREFIX_PATH=$HOME/deps \
-DCMAKE_BUILD_TYPE=Debug \
-G Ninja
ninja
fi