# Author: mosra 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') makedepends=('cmake' 'ninja') 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_FLAGS="--coverage" \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_INSTALL_PREFIX=/usr \ -DWITH_AUDIO=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_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_MAGNUMINFO=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 CORRADE_TEST_COLOR=ON MAGNUM_DISABLE_EXTENSIONS="GL_ARB_direct_state_access" ctest --output-on-failure -R GLTest || true CORRADE_TEST_COLOR=ON MAGNUM_DISABLE_EXTENSIONS="GL_ARB_direct_state_access GL_EXT_direct_state_access" ctest --output-on-failure -R GLTest || true ./src/Magnum/Platform/magnum-info --limits > /dev/null rm -rf coverage mkdir coverage lcov --directory . --capture --output-file coverage.info lcov --extract coverage.info "*/src/Magnum*/*" --output-file coverage.info lcov --remove coverage.info "*/src/MagnumExternal/*" --output-file coverage.info lcov --remove coverage.info "*/Test/*" --output-file coverage.info lcov --remove coverage.info "*/build-coverage/src/*" --output-file coverage.info genhtml --output-directory ./coverage coverage.info } package() { echo "Open ../../build-coverage/coverage/index.html to see the results." && false }