|
|
|
|
# Author: mosra <mosra@centrum.cz>
|
|
|
|
|
pkgname=magnum
|
|
|
|
|
pkgver=dev
|
|
|
|
|
pkgrel=1
|
|
|
|
|
pkgdesc="C++11/C++14 graphics middleware for games and data visualization (coverage build)"
|
|
|
|
|
arch=('i686' 'x86_64')
|
|
|
|
|
url="http://magnum.graphics"
|
|
|
|
|
license=('MIT')
|
|
|
|
|
depends=('corrade' 'openal' 'freeglut' 'sdl2' 'glfw' 'vulkan-icd-loader' 'gcc6')
|
|
|
|
|
makedepends=('cmake' 'ninja' 'lcov')
|
|
|
|
|
options=('!strip')
|
|
|
|
|
provides=('magnum-git')
|
|
|
|
|
|
|
|
|
|
_rootdir=$startdir/../../
|
|
|
|
|
|
|
|
|
|
build() {
|
|
|
|
|
mkdir -p "$_rootdir/build-coverage"
|
|
|
|
|
cd "$_rootdir/build-coverage"
|
|
|
|
|
|
|
|
|
|
# Disable optimization (saves A LOT of compilation time)
|
|
|
|
|
newcxxflags=$(echo $CXXFLAGS | sed s/-O.//g | sed s/-D_FORTIFY_SOURCE=.//g)
|
|
|
|
|
export CXXFLAGS="$newcxxflags"
|
|
|
|
|
|
|
|
|
|
cmake .. \
|
|
|
|
|
-DCMAKE_CXX_COMPILER="g++-6" \
|
|
|
|
|
-DCMAKE_CXX_FLAGS="--coverage" \
|
|
|
|
|
-DCMAKE_BUILD_TYPE=Debug \
|
|
|
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
|
|
|
-DWITH_AUDIO=ON \
|
|
|
|
|
-DWITH_SHAPES=ON \
|
|
|
|
|
-DWITH_VK=ON \
|
|
|
|
|
-DWITH_GLFWAPPLICATION=ON \
|
|
|
|
|
-DWITH_GLUTAPPLICATION=ON \
|
|
|
|
|
-DWITH_GLXAPPLICATION=ON \
|
|
|
|
|
-DWITH_SDL2APPLICATION=ON \
|
|
|
|
|
-DWITH_XEGLAPPLICATION=ON \
|
|
|
|
|
-DWITH_WINDOWLESSGLXAPPLICATION=ON \
|
|
|
|
|
-DWITH_WINDOWLESSEGLAPPLICATION=ON \
|
|
|
|
|
-DWITH_EGLCONTEXT=ON \
|
|
|
|
|
-DWITH_GLXCONTEXT=ON \
|
|
|
|
|
-DWITH_OPENGLTESTER=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_DISTANCEFIELDCONVERTER=ON \
|
|
|
|
|
-DWITH_FONTCONVERTER=ON \
|
|
|
|
|
-DWITH_IMAGECONVERTER=ON \
|
|
|
|
|
-DWITH_GL_INFO=ON \
|
|
|
|
|
-DWITH_AL_INFO=ON \
|
|
|
|
|
-DBUILD_TESTS=ON \
|
|
|
|
|
-DBUILD_GL_TESTS=ON \
|
|
|
|
|
-G Ninja
|
|
|
|
|
ninja
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
check() {
|
|
|
|
|
cd "$_rootdir/build-coverage"
|
|
|
|
|
CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 || true
|
|
|
|
|
MAGNUM_DISABLE_EXTENSIONS="GL_ARB_invalidate_subdata GL_ARB_multi_bind GL_ARB_robustness GL_ARB_separate_shader_objects GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_shading_language_420pack GL_ARB_explicit_uniform_location GL_ARB_explicit_attrib_location GL_ARB_texture_filter_anisotropic" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest || true
|
|
|
|
|
MAGNUM_DISABLE_EXTENSIONS="GL_ARB_direct_state_access" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest || true
|
|
|
|
|
MAGNUM_DISABLE_EXTENSIONS="GL_EXT_direct_state_access" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest || true
|
|
|
|
|
MAGNUM_DISABLE_EXTENSIONS="GL_ARB_get_texture_sub_image" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest || true
|
|
|
|
|
MAGNUM_DISABLE_EXTENSIONS="GL_ARB_vertex_array_object" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest || true
|
|
|
|
|
MAGNUM_DISABLE_EXTENSIONS="GL_KHR_debug" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest || true
|
|
|
|
|
./src/Magnum/Platform/magnum-gl-info --limits > /dev/null
|
|
|
|
|
|
|
|
|
|
rm -rf coverage
|
|
|
|
|
mkdir coverage
|
|
|
|
|
# Keep in sync with package/ci/appveyor-lcov.sh and travis.yml, please
|
|
|
|
|
lcov --gcov-tool="gcov-6" --directory . --capture --output-file coverage.info
|
|
|
|
|
lcov --gcov-tool="gcov-6" --extract coverage.info "*/src/Magnum*/*" --output-file coverage.info > /dev/null
|
|
|
|
|
# Deprecated, we don't care about coverage anymore
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/src/Magnum/Shapes/*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/src/Magnum/DebugTools/ShapeRenderer*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/src/Magnum/DebugTools/Implementation/*BoxRenderer*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/src/Magnum/DebugTools/Implementation/AbstractShapeRenderer*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/src/Magnum/DebugTools/Implementation/CapsuleRenderer*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/src/Magnum/DebugTools/Implementation/CylinderRenderer*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/src/Magnum/DebugTools/Implementation/LineSegmentRenderer*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/src/Magnum/DebugTools/Implementation/PointRenderer*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/src/Magnum/DebugTools/Implementation/SphereRenderer*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/src/MagnumExternal/*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/Test/*" --output-file coverage.info > /dev/null
|
|
|
|
|
lcov --gcov-tool="gcov-6" --remove coverage.info "*/build-coverage/src/*" --output-file coverage.info > /dev/null
|
|
|
|
|
genhtml --output-directory ./coverage coverage.info
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
package() {
|
|
|
|
|
echo "Open file://$_rootdir/build-coverage/coverage/index.html to see the results." && false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# kate: hl bash
|