mirror of https://github.com/mosra/magnum.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
5.6 KiB
140 lines
5.6 KiB
# Author: mosra <mosra@centrum.cz> |
|
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') |
|
checkdepends=('swiftshader') |
|
options=('!strip') |
|
provides=('magnum-git') |
|
|
|
_rootdir=$startdir/../../ |
|
|
|
build() { |
|
mkdir -p "$_rootdir/build" |
|
cd "$_rootdir/build" |
|
|
|
cmake .. \ |
|
-DCMAKE_BUILD_TYPE=Debug \ |
|
-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_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 \ |
|
-G Ninja |
|
ninja |
|
|
|
mkdir -p "$_rootdir/build-release" |
|
cd "$_rootdir/build-release" |
|
|
|
cmake .. \ |
|
-DCMAKE_BUILD_TYPE=Release \ |
|
-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_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 \ |
|
-G Ninja |
|
ninja |
|
} |
|
|
|
check() { |
|
export CORRADE_TEST_SKIP_BENCHMARKS=ON |
|
export CORRADE_TEST_COLOR=ON |
|
for i in build build-release; do |
|
cd "$_rootdir/$i" |
|
ctest --output-on-failure -j9 |
|
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" ctest --output-on-failure -j9 -R GLTest |
|
MAGNUM_DISABLE_EXTENSIONS="GL_ARB_direct_state_access" ctest --output-on-failure -j9 -R GLTest |
|
MAGNUM_DISABLE_EXTENSIONS="GL_ARB_get_texture_sub_image" ctest --output-on-failure -j9 -R GLTest |
|
MAGNUM_DISABLE_EXTENSIONS="GL_ARB_vertex_array_object" ctest --output-on-failure -j9 -R GLTest |
|
MAGNUM_DISABLE_EXTENSIONS="GL_ARB_uniform_buffer_object" ctest --output-on-failure -j9 -R GLTest |
|
MAGNUM_DISABLE_EXTENSIONS="GL_KHR_debug" ctest --output-on-failure -j9 -R GLTest |
|
|
|
# Run all Vulkan tests with SwiftShader as well |
|
# Keep in sync with PKGBUILD, PKGBUILD-coverage and |
|
# package/ci/unix-desktop-vulkan.sh |
|
MAGNUM_DEVICE=cpu ctest --output-on-failure -j9 -R VkTest |
|
for device in "" cpu; do |
|
MAGNUM_DEVICE=$device MAGNUM_VULKAN_VERSION=1.0 ctest --output-on-failure -j9 -R VkTest |
|
MAGNUM_DEVICE=$device MAGNUM_DISABLE_EXTENSIONS="VK_KHR_get_physical_device_properties2 VK_KHR_get_memory_requirements2 VK_KHR_bind_memory2 VK_KHR_create_renderpass2 VK_KHR_copy_commands2 VK_KHR_maintenance1 VK_KHR_multiview VK_KHR_maintenance2" MAGNUM_VULKAN_VERSION=1.0 ctest --output-on-failure -j9 -R VkTest |
|
done |
|
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
|
|
|