# Author: mosra pkgname=magnum pkgver=dev.clang.libc++ pkgrel=1 pkgdesc="C++11/C++14 graphics middleware for games and data visualization (built with clang and libc++)" arch=('i686' 'x86_64') url="https://magnum.graphics" license=('MIT') depends=('corrade=dev.clang.libc++' 'openal' 'sdl2' 'glfw' 'vulkan-icd-loader' 'libc++') makedepends=('cmake' 'clang' 'ninja') options=('!strip') provides=('magnum-git') _rootdir=$startdir/../../ build() { if [ ! -d "$_rootdir/build-clang-libc++" ] ; then mkdir "$_rootdir/build-clang-libc++" cd "$_rootdir/build-clang-libc++" # RelWithDebInfo is enabled but not built -- it's meant for profiling # from within the build dir cmake .. \ -DCMAKE_CONFIGURATION_TYPES="Debug;Release;RelWithDebInfo" \ -DCMAKE_CROSS_CONFIGS=all \ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g -DNDEBUG -fno-omit-frame-pointer" \ -DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_CXX_FLAGS="-stdlib=libc++" \ -DCMAKE_EXE_LINKER_FLAGS=-lc++abi \ -G "Ninja Multi-Config" fi cd "$_rootdir/build-clang-libc++" cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr \ -DMAGNUM_WITH_AUDIO=ON \ -DMAGNUM_WITH_VK=ON \ -DMAGNUM_WITH_GLFWAPPLICATION=ON \ -DMAGNUM_WITH_GLXAPPLICATION=ON \ -DMAGNUM_WITH_SDL2APPLICATION=ON \ -DMAGNUM_WITH_XEGLAPPLICATION=ON \ -DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON \ -DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=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_MAGNUMFONTCONVERTER=ON \ -DMAGNUM_WITH_OBJIMPORTER=ON \ -DMAGNUM_WITH_TGAIMAGECONVERTER=ON \ -DMAGNUM_WITH_TGAIMPORTER=ON \ -DMAGNUM_WITH_WAVAUDIOIMPORTER=ON \ -DMAGNUM_WITH_DISTANCEFIELDCONVERTER=ON \ -DMAGNUM_WITH_FONTCONVERTER=ON \ -DMAGNUM_WITH_IMAGECONVERTER=ON \ -DMAGNUM_WITH_SCENECONVERTER=ON \ -DMAGNUM_WITH_SHADERCONVERTER=ON \ -DMAGNUM_WITH_GL_INFO=ON \ -DMAGNUM_WITH_VK_INFO=ON \ -DMAGNUM_WITH_AL_INFO=ON \ -DMAGNUM_BUILD_TESTS=ON \ -DMAGNUM_BUILD_GL_TESTS=ON \ -DMAGNUM_BUILD_VK_TESTS=ON ninja all:Debug all:Release } check() { cd "$_rootdir/build-clang-libc++" export CORRADE_TEST_SKIP_BENCHMARKS=ON for config in Debug Release; do CORRADE_TEST_COLOR=ON ctest -C $config --output-on-failure -j9 done } package() { cd "$_rootdir/build-clang-libc++" DESTDIR="$pkgdir/" ninja install:Debug # Prevent the Release build from overwriting Debug binaries for i in $(ls $pkgdir/usr/bin/magnum-*); do mv ${i}{,d} done DESTDIR="$pkgdir/" ninja install/strip:Release }