# Author: mosra <mosra@centrum.cz>
pkgname=corrade
pkgver=dev
pkgrel=1
pkgdesc="C++11/C++14 multiplatform utility library (coverage build)"
arch=('i686' 'x86_64')
url="https://magnum.graphics/corrade/"
license=('MIT')
makedepends=('cmake' 'ninja' 'lcov')
options=(!strip)
provides=('corrade-git')

_rootdir=$startdir/../../

build() {
    mkdir -p "$_rootdir/build-coverage"
    cd "$_rootdir/build-coverage"

    cmake .. \
        -DCMAKE_CXX_FLAGS="--coverage" \
        -DCMAKE_BUILD_TYPE=Debug \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DBUILD_TESTS=ON \
        -G Ninja
    ninja
}

check() {
    cd "$_rootdir/build-coverage"
    # The Tester test *needs* benchmarks enabled to pass properly
    CORRADE_TEST_COLOR=ON ctest --output-on-failure -R TestSuiteTesterTest || true
    CORRADE_TEST_SKIP_BENCHMARKS=ON CORRADE_TEST_COLOR=ON ctest --output-on-failure -E TestSuiteTesterTest || true

    rm -rf coverage
    mkdir coverage
    # Keep in sync with package/ci/appveyor-lcov.sh and travis.yml, please
    lcov --directory . --capture --output-file coverage.info
    lcov --extract coverage.info "*/src/Corrade/*" --output-file coverage.info
    lcov --remove coverage.info "*/Test/*" --output-file coverage.info
    lcov --remove coverage.info "*/build-coverage/src/Corrade/*" --output-file coverage.info
    genhtml --output-directory ./coverage coverage.info
}

package() {
    echo "Open file://$_rootdir/build-coverage/coverage/index.html to see the results." && false
}

# kate: hl bash
