packages feed

tcod-haskell-0.3.0.0: tcod-haskell.cabal

name:                tcod-haskell
version:             0.3.0.0
synopsis:            Bindings to libtcod roguelike engine
description:         Haskell bindings for popular library for making roguelike games
homepage:            https://github.com/ncrashed/tcod-haskell#readme
license:             BSD3
license-file:        LICENSE
author:              Anton Gushcha
maintainer:          ncrashed@gmail.com
copyright:           2017 Anton Gushcha
category:            Game
build-type:          Simple
extra-source-files:
  README.md
  CHANGELOG.md
  stack.yaml
  terminal.png
  include/external/*.h
cabal-version:       >=1.10

flag examples
  description: build engine examples
  default: False

flag use-pkg-config
  Description: Use pkg-config to check for library dependences
  Default: True

library
  hs-source-dirs:      src
  exposed-modules:
    Game.TCOD
    Game.TCOD.Bresenham
    Game.TCOD.BSP
    Game.TCOD.Color
    Game.TCOD.Console
    Game.TCOD.ConsoleTypes
    Game.TCOD.Context
    Game.TCOD.Fov
    Game.TCOD.FovTypes
    Game.TCOD.Heightmap
    Game.TCOD.HeightmapInst
    Game.TCOD.Image
    Game.TCOD.List
    Game.TCOD.Mersenne
    Game.TCOD.MersenneTypes
    Game.TCOD.Mouse
    Game.TCOD.MouseTypes
    Game.TCOD.NameGen
    Game.TCOD.Noise
    Game.TCOD.Path
    Game.TCOD.System
    Game.TCOD.Tree
    Game.TCOD.Version
  include-dirs: include
  build-depends:
      base                      >= 4.7      && < 5
    , bytestring                >= 0.10     && < 0.11
    , containers                >= 0.5      && < 0.7
    , inline-c                  >= 0.5      && < 0.8
    , repa                      >= 3.4      && < 3.5
    , sdl2                      >= 2.2      && < 2.6
    , vector                    >= 0.12     && < 0.13

  default-language:    Haskell2010
  default-extensions:
    ConstraintKinds
    DeriveGeneric
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GeneralizedNewtypeDeriving
    MultiParamTypeClasses
    OverloadedStrings
    QuasiQuotes
    RecordWildCards
    ScopedTypeVariables
    TemplateHaskell
    TypeFamilies

  if flag(use-pkg-config)
    pkgconfig-depends: libtcod >= 1.8.2
  else
    extra-libraries: tcod

source-repository head
  type:     git
  location: https://github.com/ncrashed/tcod-haskell

executable tcod-haskell-sample01
  hs-source-dirs:      app/sample01
  main-is:             Main.hs
  ghc-options:         -optlo-O3 -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      base
    , tcod-haskell

  default-extensions:
    OverloadedStrings
    RecordWildCards
    ScopedTypeVariables
  default-language:    Haskell2010
  extra-libraries: tcod
  if flag(examples)
    Buildable: True
  else
    Buildable: False

executable tcod-haskell-sample02
  hs-source-dirs:      app/sample02
  main-is:             Main.hs
  ghc-options:         -optlo-O3 -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      base
    , tcod-haskell
  extra-libraries: tcod
  default-extensions:
    OverloadedStrings
    RecordWildCards
    ScopedTypeVariables
  default-language:    Haskell2010

  if flag(examples)
    Buildable: True
  else
    Buildable: False

executable tcod-haskell-sample03
  hs-source-dirs:      app/sample03
  main-is:             Main.hs
  ghc-options:         -optlo-O3 -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      base
    , tcod-haskell
  extra-libraries: tcod
  default-extensions:
    OverloadedStrings
    RecordWildCards
    ScopedTypeVariables
  default-language:    Haskell2010

  if flag(examples)
    Buildable: True
  else
    Buildable: False