cabal-version: 2.2

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

name:           VulkanMemoryAllocator
version:        0.3.7.1
synopsis:       Bindings to the VulkanMemoryAllocator library
category:       Graphics
homepage:       https://github.com/expipiplus1/vulkan#readme
bug-reports:    https://github.com/expipiplus1/vulkan/issues
maintainer:     Joe Hermaszewski <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/src/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++11
  include-dirs:
      VulkanMemoryAllocator/src
  cxx-sources:
      src/lib.cpp
  extra-libraries:
      stdc++
  build-depends:
      base <5
    , bytestring
    , transformers
    , vector
    , vulkan ==3.6.*
  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
  default-language: Haskell2010