Browse Source

package/archlinux: added PKGBUILD-coverage.

pull/231/head
Vladimír Vondruš 8 years ago
parent
commit
de5b2c5f3e
  1. 75
      package/archlinux/PKGBUILD-coverage

75
package/archlinux/PKGBUILD-coverage

@ -0,0 +1,75 @@
# 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')
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
}
Loading…
Cancel
Save