cabal-version:       3.0
name:                svgone
version:             0.2.0.0
license:             BSD-3-Clause
maintainer:          George Thomas <georgefsthomas@gmail.com>
homepage:            https://github.com/georgefst/svgone
synopsis:            Optimise SVGs
category:            graphics, svg

source-repository head
    type:     git
    location: git://github.com/georgefst/svgone.git

common common
    build-depends:
        base ^>= { 4.13, 4.14 },
        bytestring ^>= 0.10.10,
        containers ^>= 0.6.2,
        directory ^>= 1.3.6,
        extra ^>= 1.7.9,
        filepath ^>= 1.4.2,
        generic-lens ^>= 2.0,
        lens ^>= 4.19.2,
        linear ^>= 1.21.3,
        mtl ^>= 2.2.2,
        pretty-simple ^>= 4.0.0,
        process ^>= 1.6.8,
        reanimate-svg ^>= 0.13.0,
        safe ^>= 0.3.19,
        text ^>= 1.2.3,
    ghc-options:
        -Wall
        -fdefer-typed-holes
    default-language: Haskell2010
    default-extensions:
        BlockArguments
        ConstraintKinds
        DeriveFoldable
        DeriveFunctor
        DeriveGeneric
        DeriveTraversable
        DerivingStrategies
        FlexibleContexts
        FlexibleInstances
        FunctionalDependencies
        GADTs
        GeneralisedNewtypeDeriving
        InstanceSigs
        LambdaCase
        MultiParamTypeClasses
        OverloadedLabels
        OverloadedStrings
        PartialTypeSignatures
        PatternSynonyms
        RankNTypes
        RecordWildCards
        ScopedTypeVariables
        StandaloneDeriving
        TupleSections
        TypeApplications
        TypeFamilies
        TypeFamilyDependencies
        TypeOperators
        ViewPatterns

executable svgone
    import: common
    hs-source-dirs: app
    main-is: Main.hs
    build-depends:
        svgone
    ghc-options:
        -threaded

library
    import: common
    hs-source-dirs: src
    exposed-modules:
        Svgone
        Svgone.Plugin
        Svgone.Plugin.CollapseGroups
        Svgone.Plugin.MergePaths
        Svgone.Plugin.RemoveAttributes
    other-modules:
        Util