packages feed

VulkanMemoryAllocator-0.9: VulkanMemoryAllocator.cabal

cabal-version: 2.2

-- This file has been generated from package.yaml by hpack version 0.34.5.
--
-- see: https://github.com/sol/hpack

name:           VulkanMemoryAllocator
version:        0.9
synopsis:       Bindings to the VulkanMemoryAllocator library
category:       Graphics
homepage:       https://github.com/expipiplus1/vulkan#readme
bug-reports:    https://github.com/expipiplus1/vulkan/issues
maintainer:     Ellie Hermaszewska <live.long.and.prosper@monoid.al>
license:        BSD-3-Clause
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    readme.md
    changelog.md
    package.yaml
    VulkanMemoryAllocator/include/vk_mem_alloc.h

source-repository head
  type: git
  location: https://github.com/expipiplus1/vulkan

flag generic-instances
  description: Derive Generic instances for all structs. Disabled by default because of code size and compile time impact.
  manual: True
  default: False

flag safe-foreign-calls
  description: Do not mark foreign imports as 'unsafe'. This means that callbacks from VulkanMemoryAllocator to Haskell will work. If you are using these then make sure this flag is enabled.
  manual: True
  default: False

flag vma-ndebug
  description: Compile VulkanMemoryAllocator with NDEBUG to disable assertions.
  manual: True
  default: False

flag vma-recording
  description: Compile VulkanMemoryAllocator with VMA_RECORDING_ENABLED to enable recording functionality.
  manual: True
  default: False

library
  exposed-modules:
      VulkanMemoryAllocator
  hs-source-dirs:
      src
  default-extensions:
      AllowAmbiguousTypes
      CPP
      DataKinds
      DefaultSignatures
      DeriveAnyClass
      DeriveGeneric
      DerivingStrategies
      DuplicateRecordFields
      FlexibleContexts
      FlexibleInstances
      GADTs
      GeneralizedNewtypeDeriving
      InstanceSigs
      LambdaCase
      MagicHash
      NoMonomorphismRestriction
      OverloadedStrings
      PartialTypeSignatures
      PatternSynonyms
      PolyKinds
      QuantifiedConstraints
      RankNTypes
      RecordWildCards
      RoleAnnotations
      ScopedTypeVariables
      StandaloneDeriving
      Strict
      TypeApplications
      TypeFamilyDependencies
      TypeOperators
      TypeSynonymInstances
      UndecidableInstances
      ViewPatterns
  ghc-options: -Wall -Wno-unticked-promoted-constructors -Wno-missing-pattern-synonym-signatures -Wno-unused-imports -Wno-missing-signatures -Wno-partial-type-signatures
  cxx-options: -std=c++14
  include-dirs:
      VulkanMemoryAllocator/include
  cxx-sources:
      src/lib.cpp
  extra-libraries:
      stdc++
  build-depends:
      base <5
    , bytestring
    , transformers
    , vector
    , vulkan >=3.6 && <3.17
  if flag(safe-foreign-calls)
    cpp-options: -DSAFE_FOREIGN_CALLS
  if flag(vma-ndebug)
    cxx-options: -DNDEBUG
  if flag(vma-recording)
    cxx-options: -DVMA_RECORDING_ENABLED
  if flag(generic-instances)
    cpp-options: -DGENERIC_INSTANCES
  if impl(ghc >= 8.10)
    ghc-options: -optcxx -std=c++14
  default-language: Haskell2010