-- Initial cmdparse-applicative.cabal generated by cabal init.  For further
--  documentation, see http://haskell.org/cabal/users-guide/

name:                butcher
version:             0.1.0.0
-- synopsis:            
-- description:         
license:             BSD3
license-file:        LICENSE
author:              Lennart Spitzner
maintainer:          lsp@informatik.uni-kiel.de
-- copyright:           
-- category:            
build-type:          Simple
extra-source-files:  ChangeLog.md
cabal-version:       >=1.10

flag butcher-dev
  description: dev options
  default: False

library
  exposed-modules:     UI.Butcher.Monadic.Types
                       UI.Butcher.Monadic
                       UI.Butcher.Monadic.Core
                       UI.Butcher.Monadic.Param
                       UI.Butcher.Monadic.Flag
                       UI.Butcher.Monadic.Pretty
                       UI.Butcher.Monadic.IO
  -- other-modules:       
  -- other-extensions:    
  build-depends:
    { base >=4.9 && <4.10
    , free
    , unsafe
    , lens
    , multistate
    , pretty
    , containers
    , either
    , transformers
    , mtl
    , extra
    }
  if flag(butcher-dev) {
    build-depends:
      hspec
  }
  hs-source-dirs:      src
  default-language:    Haskell2010
  default-extensions: {
    CPP

    NoImplicitPrelude

    GADTs

    FlexibleContexts
    FlexibleInstances
    ScopedTypeVariables
    MonadComprehensions
    LambdaCase
    MultiWayIf
    KindSignatures
    ApplicativeDo
  }
  ghc-options: {
    -Wall
    -fprof-auto -fprof-cafs -fno-spec-constr
    -j
    -fno-warn-unused-imports
    -fno-warn-orphans
  }
  if flag(butcher-dev) {
    ghc-options: -O0 -Werror
  }
  include-dirs:
    srcinc

test-suite tests
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  build-depends:
    { base >=4.9 && <4.10
    , butcher
    , free
    , unsafe
    , lens
    , multistate
    , pretty
    , containers
    , either
    , transformers
    , mtl
    , extra
    }
  if flag(butcher-dev) {
    buildable:        True
    build-depends:
      hspec
  } else {
    buildable:        False
  }
  ghc-options:      -Wall
  main-is:          TestMain.hs
  other-modules:    
  hs-source-dirs:   src-tests
  default-extensions: {
    CPP

    NoImplicitPrelude

    GADTs

    FlexibleContexts
    FlexibleInstances
    ScopedTypeVariables
    MonadComprehensions
    LambdaCase
    MultiWayIf
    KindSignatures
  }
  ghc-options: {
    -Wall
    -O0
    -fprof-auto -fprof-cafs -fno-spec-constr
    -j
    -fno-warn-unused-imports
    -fno-warn-orphans
  }
  if flag(butcher-dev) {
    ghc-options: -Werror
  }