cabal-version:       2.4
-- Initial package description 'hspwg.cabal' generated by 'cabal init'.
-- For further documentation, see http://haskell.org/cabal/users-guide/

name:                hspwg
version:             0.1.0.0
synopsis:            Password Generator
-- description:
-- bug-reports:
license:             BSD-3-Clause
license-file:        LICENSE
author:              Yann Esposito (Yogsototh)
maintainer:          yann.esposito@gmail.com
-- copyright:
category:            Security
extra-source-files:  CHANGELOG.md

common professional-properties
  default-language: Haskell2010
  build-depends:
    base ^>=4.12.0.0
  ghc-options:
    -Wall
    -Wcompat
    -Wincomplete-uni-patterns
    -Wredundant-constraints
    -Wnoncanonical-monad-instances
    -- -Werror
    -- -O2

library
  import: professional-properties
  exposed-modules:     MyLib
  -- other-modules:
  -- other-extensions:
  build-depends:       protolude,
                       random
  hs-source-dirs:      src

executable hspwg
  import: professional-properties
  main-is:             Main.hs
  -- other-modules:
  -- other-extensions:
  ghc-options:
    -- enable parallelism
    -threaded
    "-with-rtsopts=-N"
  build-depends:       hspwg,
                       protolude
  hs-source-dirs:      app

test-suite hspwg-test
  import: professional-properties
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             MyLibTest.hs
  build-depends:       protolude,
                       tasty ^>= 1.2.0,
                       tasty-hunit,
                       tasty-smallcheck,
                       tasty-quickcheck
