cabal-version:   2.4
name:            hello
version:         0
license:         BSD-3-Clause
build-type:      Simple
license-file:    LICENSE
author:          AUTHNAME
maintainer:      AUTHNAME <EMAIL>
copyright:       CURRENTYEAR AUTHNAME
tested-with:     GHC ==8.6.3 || ==8.8.3 || ==8.10.5
extra-doc-files:
  CHANGELOG.md
  README.md

-- category:
-- description:     description
-- synopsis:        one-line synopsis
-- homepage:        https://github.com/FIXME/hello#readme
-- source-repository head
--   type:     git
--   location: git://github.com/FIXME/hello.git

common common-options
  build-depends:    base >=4.9 && <5
  default-language: Haskell2010
  ghc-options:
    -Wall -Wcompat -Widentities -Wincomplete-uni-patterns
    -Wincomplete-record-updates -Wredundant-constraints
    -fhide-source-paths -Wpartial-fields

library
  import:          common-options
  hs-source-dirs:  src
  exposed-modules: Lib
  build-depends:
    , containers
    , mtl

executable hello-exe
  import:         common-options
  hs-source-dirs: app
  main-is:        Main.hs
  build-depends:  hello
  ghc-options:    -threaded -rtsopts -with-rtsopts=-N

test-suite hello-test
  import:         common-options
  type:           exitcode-stdio-1.0
  hs-source-dirs: test
  main-is:        Spec.hs
  build-depends:
    , hspec
    , HUnit
    , hello
    , QuickCheck

  ghc-options:    -threaded -rtsopts -with-rtsopts=-N

benchmark hello-bench
  import:         common-options
  type:           exitcode-stdio-1.0
  hs-source-dirs: bench
  main-is:        Main.hs
  build-depends:
    , criterion
    , hello

  ghc-options:    -threaded -rtsopts -with-rtsopts=-N