# Author: mosra <mosra@centrum.cz>
pkgname=emscripten-magnum
pkgver=dev.webgl2
pkgrel=1
pkgdesc="C++11/C++14 graphics middleware for games and data visualization (Emscripten WebGL 2.0)"
arch=('any')
url="https://magnum.graphics"
license=('MIT')
depends=('emscripten-corrade')
makedepends=('cmake' 'emscripten' 'corrade' 'ninja')
options=('!strip' '!buildflags')

_rootdir=$startdir/../../

build() {
    if [ ! -d "$_rootdir/build-emscripten-webgl2" ] ; then
        mkdir "$_rootdir/build-emscripten-webgl2"
        cd "$_rootdir/build-emscripten-webgl2"

        cmake .. \
            -DCMAKE_TOOLCHAIN_FILE="$_rootdir/toolchains/generic/Emscripten.cmake" \
            -G Ninja
    fi

    cd "$_rootdir/build-emscripten-webgl2"

    cmake .. \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/usr/lib/emscripten/system \
        -DMAGNUM_DEPLOY_PREFIX=/srv/http/emscripten-webgl2 \
        -DTARGET_GLES2=OFF \
        -DWITH_AUDIO=ON \
        -DWITH_EMSCRIPTENAPPLICATION=ON \
        -DWITH_SDL2APPLICATION=ON \
        -DWITH_WINDOWLESSEGLAPPLICATION=ON \
        -DWITH_ANYAUDIOIMPORTER=ON \
        -DWITH_ANYIMAGECONVERTER=ON \
        -DWITH_ANYIMAGEIMPORTER=ON \
        -DWITH_ANYSCENECONVERTER=ON \
        -DWITH_ANYSCENEIMPORTER=ON \
        -DWITH_MAGNUMFONT=ON \
        -DWITH_OBJIMPORTER=ON \
        -DWITH_TGAIMAGECONVERTER=ON \
        -DWITH_TGAIMPORTER=ON \
        -DWITH_WAVAUDIOIMPORTER=ON \
        -DWITH_GL_INFO=ON \
        -DWITH_AL_INFO=ON \
        -DBUILD_TESTS=OFF \
        -DBUILD_GL_TESTS=OFF
    ninja
}

check() {
    cd "$_rootdir/build-emscripten-webgl2"

    # So tests are not even built (takes AGES) when the user doesn't want to
    cmake . -DBUILD_TESTS=ON -DBUILD_GL_TESTS=ON
    ninja

    CORRADE_TEST_COLOR=ON ctest -j5 --output-on-failure -E ALTest
}

package() {
    cd "$_rootdir/build-emscripten-webgl2"
    DESTDIR="$pkgdir/" ninja install
}
