cabal-version: 3.6
name:          bearlibterminal
version:       0.0.1.0
synopsis:      Low-level Haskell bindings to the bearlibterminal graphics library.
description:   Low-level Haskell bindings to the bearlibterminal graphics library.
homepage:      https://github.com/PPKFS/bearlibterminal-hs
bug-reports:   https://github.com/PPKFS/bearlibterminal-hs/issues
license:       MIT
author:        Avery
maintainer:    Avery <ppkfs@outlook.com>
copyright:     2024 Avery
category:      Game Development
build-type:    Simple
tested-with:   GHC == 9.8.2

source-repository head
  type:     git
  location: https://github.com/PPKFS/bearlibterminal-hs.git

common common-options
  build-depends:
      base >= 4.17.2 && < 5
    , text >= 2.1.1 && < 2.2
    , bytestring >= 0.12.1 && < 0.13
    , mtl >= 2.3.1 && < 2.4

  ghc-options:
    -Wall -Werror -Wcompat -Widentities -Wredundant-constraints
    -Wno-unused-packages -Wno-deprecations -fhide-source-paths
    -Wno-unused-top-binds -Wmissing-deriving-strategies

  default-language: GHC2021
  default-extensions:
    DerivingStrategies
    OverloadedStrings
    MultiWayIf
    BlockArguments
    LambdaCase

library
  import: common-options
  hs-source-dirs:  src
  exposed-modules:
    BearLibTerminal
    BearLibTerminal.Raw
    BearLibTerminal.Keycodes
  extra-libraries: stdc++ BearLibTerminal
  include-dirs:
    cbits
  includes:
    cbits/BearLibTerminal.h
    cbits/BearLibTerminalExtras.h
  install-includes:
    cbits/BearLibTerminal.h
    cbits/BearLibTerminalExtras.h