: 1
name: libmoltenvk
version: 1.4.2+1
language: c++
project: moltenvk
summary: Vulkan implementation on top of Apple's Metal
license: Apache-2.0
description-file: README.md
package-description-file: PACKAGE-README.md
url: https://github.com/KhronosGroup/MoltenVK
src-url: https://github.com/KhronosGroup/MoltenVK
package-url: https://github.com/build2-packaging/MoltenVK
package-email: packaging@build2.org ; Mailing list.
topics: graphics, vulkan, metal, c++
requires: c++17
requires: macos
requires: clang ; Objective-C++ and Metal frameworks (GCC is not supported)
build-exclude: **-gcc** ; GCC cannot compile MoltenVK Objective-C++/Metal
build-include: macos**
build-exclude: ** ; Layers Vulkan on top of Apple's Metal, macOS-only.
tests: libmoltenvk-tests == $
depends: * build2 >= 0.18.0
depends: * bpkg >= 0.18.0

depends: libvulkan-headers ^1.4.0
depends: libcereal ^1.3.2
depends: libspirv-tools ^1.4.357

depends:
\
libspirv-cross ^1.4.357
{
  prefer
  {
    config.libspirv_cross.glsl      = true
    config.libspirv_cross.msl       = true
    config.libspirv_cross.reflect   = true
    config.libspirv_cross.hlsl      = false
    config.libspirv_cross.cpp       = false
    config.libspirv_cross.util      = false
    config.libspirv_cross.c_api     = false
    config.libspirv_cross.namespace = 'MVK_spirv_cross'
  }

  accept ( $config.libspirv_cross.glsl                  \
           && $config.libspirv_cross.msl                \
           && $config.libspirv_cross.reflect             \
           && !$config.libspirv_cross.hlsl               \
           && !$config.libspirv_cross.cpp                \
           && !$config.libspirv_cross.util               \
           && !$config.libspirv_cross.c_api               \
           && $config.libspirv_cross.namespace == 'MVK_spirv_cross' )
}
\
