# Author: mosra pkgname=magnum pkgver=dev.es3desktop pkgrel=1 pkgdesc="C++11/C++14 graphics middleware for games and data visualization (desktop OpenGL ES 3.0 version)" arch=('i686' 'x86_64') url="https://magnum.graphics" license=('MIT') depends=('corrade' 'openal' 'sdl2' 'glfw') makedepends=('cmake' 'ninja') options=('!strip' '!buildflags') provides=('magnum-git') _rootdir=$startdir/../../ build() { mkdir -p "$_rootdir/build-es3desktop" cd "$_rootdir/build-es3desktop" # Colored output is enabled implicitly. If Ninja detects it's outputting to # a pipe, it strips it away from the output, alternatively you can set the # GCC_COLORS= (empty) env variable to temporarily disable colors. The # inverse, i.e. preserving colors when Ninja outputs to a pipe can be done # with CLICOLOR_FORCE=1: https://github.com/ninja-build/ninja/issues/2196 cmake .. \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_CXX_FLAGS_DEBUG="-g -gz=zstd" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_COLOR_DIAGNOSTICS=ON \ -DMAGNUM_TARGET_GLES=ON \ -DMAGNUM_TARGET_GLES2=OFF \ -DMAGNUM_TARGET_EGL=OFF \ -DMAGNUM_WITH_AUDIO=ON \ -DMAGNUM_WITH_GLFWAPPLICATION=ON \ -DMAGNUM_WITH_GLXAPPLICATION=ON \ -DMAGNUM_WITH_SDL2APPLICATION=ON \ -DMAGNUM_WITH_XEGLAPPLICATION=ON \ -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON \ -DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON \ -DMAGNUM_WITH_EGLCONTEXT=ON \ -DMAGNUM_WITH_GLXCONTEXT=ON \ -DMAGNUM_WITH_OPENGLTESTER=ON \ -DMAGNUM_WITH_ANYAUDIOIMPORTER=ON \ -DMAGNUM_WITH_ANYIMAGECONVERTER=ON \ -DMAGNUM_WITH_ANYIMAGEIMPORTER=ON \ -DMAGNUM_WITH_ANYSCENECONVERTER=ON \ -DMAGNUM_WITH_ANYSCENEIMPORTER=ON \ -DMAGNUM_WITH_ANYSHADERCONVERTER=ON \ -DMAGNUM_WITH_MAGNUMFONT=ON \ -DMAGNUM_WITH_OBJIMPORTER=ON \ -DMAGNUM_WITH_TGAIMAGECONVERTER=ON \ -DMAGNUM_WITH_TGAIMPORTER=ON \ -DMAGNUM_WITH_WAVAUDIOIMPORTER=ON \ -DMAGNUM_WITH_DISTANCEFIELDCONVERTER=ON \ -DMAGNUM_WITH_IMAGECONVERTER=ON \ -DMAGNUM_WITH_SCENECONVERTER=ON \ -DMAGNUM_WITH_SHADERCONVERTER=ON \ -DMAGNUM_WITH_GL_INFO=ON \ -DMAGNUM_WITH_AL_INFO=ON \ -DMAGNUM_BUILD_TESTS=ON \ -DMAGNUM_BUILD_GL_TESTS=ON \ -G Ninja ninja } check() { cd "$_rootdir/build-es3desktop" # Keep these in sync with package/ci/unix-desktop-gles.sh and PKGBUILD-es3 CORRADE_TEST_COLOR=ON ctest --output-on-failure -j9 MAGNUM_DISABLE_EXTENSIONS="GL_NV_framebuffer_multisample GL_NV_framebuffer_blit GL_EXT_robustness GL_EXT_draw_elements_base_vertex" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j9 -R GLTest MAGNUM_DISABLE_EXTENSIONS="GL_NV_framebuffer_multisample GL_NV_framebuffer_blit GL_EXT_robustness GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_ANGLE_base_vertex_base_instance" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j9 -R GLTest MAGNUM_DISABLE_EXTENSIONS="GL_NV_framebuffer_multisample GL_NV_framebuffer_blit GL_EXT_robustness GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_ANGLE_base_vertex_base_instance GL_EXT_multi_draw_arrays GL_ANGLE_multi_draw" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j9 -R GLTest MAGNUM_DISABLE_EXTENSIONS="GL_KHR_debug" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j9 -R GLTest } package() { cd "$_rootdir/build-es3desktop" DESTDIR="$pkgdir/" ninja install }