# Author: mosra pkgname=magnum pkgver=dev.release pkgrel=1 pkgdesc="C++11/C++14 graphics middleware for games and data visualization (debug+release libs)" arch=('i686' 'x86_64') url="https://magnum.graphics" license=('MIT') depends=('corrade' 'openal' 'sdl2' 'glfw' 'vulkan-icd-loader') makedepends=('cmake' 'ninja') options=('!strip') provides=('magnum-git') _rootdir=$startdir/../../ build() { mkdir -p "$_rootdir/build" cd "$_rootdir/build" cmake .. \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_INSTALL_PREFIX=/usr \ -DWITH_AUDIO=ON \ -DWITH_VK=ON \ -DWITH_GLFWAPPLICATION=ON \ -DWITH_GLXAPPLICATION=ON \ -DWITH_SDL2APPLICATION=ON \ -DWITH_XEGLAPPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ -DWITH_EGLCONTEXT=ON \ -DWITH_GLXCONTEXT=ON \ -DWITH_OPENGLTESTER=ON \ -DWITH_ANYAUDIOIMPORTER=ON \ -DWITH_ANYIMAGECONVERTER=ON \ -DWITH_ANYIMAGEIMPORTER=ON \ -DWITH_ANYSCENECONVERTER=ON \ -DWITH_ANYSCENEIMPORTER=ON \ -DWITH_ANYSHADERCONVERTER=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_SCENECONVERTER=ON \ -DWITH_SHADERCONVERTER=ON \ -DWITH_GL_INFO=ON \ -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=ON \ -DBUILD_VK_TESTS=ON \ -G Ninja ninja mkdir -p "$_rootdir/build-release" cd "$_rootdir/build-release" cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DWITH_AUDIO=ON \ -DWITH_VK=ON \ -DWITH_GLFWAPPLICATION=ON \ -DWITH_GLXAPPLICATION=ON \ -DWITH_SDL2APPLICATION=ON \ -DWITH_XEGLAPPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ -DWITH_EGLCONTEXT=ON \ -DWITH_GLXCONTEXT=ON \ -DWITH_OPENGLTESTER=ON \ -DWITH_ANYAUDIOIMPORTER=ON \ -DWITH_ANYIMAGECONVERTER=ON \ -DWITH_ANYIMAGEIMPORTER=ON \ -DWITH_ANYSCENECONVERTER=ON \ -DWITH_ANYSCENEIMPORTER=ON \ -DWITH_ANYSHADERCONVERTER=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_SCENECONVERTER=ON \ -DWITH_SHADERCONVERTER=ON \ -DWITH_GL_INFO=ON \ -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=ON \ -DBUILD_VK_TESTS=ON \ -G Ninja ninja } check() { for i in build build-release; do cd "$_rootdir/$i" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 MAGNUM_DISABLE_EXTENSIONS="GL_ARB_invalidate_subdata GL_ARB_multi_bind GL_ARB_robustness GL_ARB_separate_shader_objects GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_shading_language_420pack GL_ARB_explicit_uniform_location GL_ARB_explicit_attrib_location GL_ARB_texture_filter_anisotropic" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest MAGNUM_DISABLE_EXTENSIONS="GL_ARB_direct_state_access" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest MAGNUM_DISABLE_EXTENSIONS="GL_ARB_get_texture_sub_image" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest MAGNUM_DISABLE_EXTENSIONS="GL_ARB_vertex_array_object" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest MAGNUM_DISABLE_EXTENSIONS="GL_KHR_debug" CORRADE_TEST_COLOR=ON ctest --output-on-failure -j5 -R GLTest done } package() { cd "$_rootdir/build" DESTDIR="$pkgdir/" ninja install # Prevent the release version from overwriting the debug binary for i in al-info gl-info distancefieldconverter fontconverter imageconverter sceneconverter shaderconverter; do mv $pkgdir/usr/bin/magnum-${i}{,d} done cd "$_rootdir/build-release" DESTDIR="$pkgdir/" ninja install/strip } # kate: hl bash