name:              coin
version:           1.2.1
Build-Type:        Simple
cabal-version:     >= 1.16
author:            Piotr Borek <piotrborek@op.pl>
maintainer:        Piotr Borek <piotrborek@op.pl>
license:           GPL
synopsis:          Simple account manager
description:       Simple account manager
category:          Application
homepage:          https://bitbucket.org/borekpiotr/coin
tested-with:       GHC == 7.10.3, GHC == 8.0.1

data-files:        stack.yaml
                   LICENSE

flag debug-db
    description: Output database logger information to stdout.
    default: False

executable coin
    main-is:            Main.hs
    hs-source-dirs:     src
    default-language:   Haskell2010
    -- also enable profiling in ~/.cabal.config
    -- ghc-options:        -Wall -prof -auto-all -osuf p_o
    ghc-options:        -Wall -O2
    default-extensions: LambdaCase
                        PackageImports
                        MultiWayIf
                        CPP
    build-depends:      base >= 4.8 && < 5.0,
                        glib,
                        gtk3,
                        directory,
                        filepath,
                        containers,
                        binary,
                        directory,
                        persistent,
                        persistent-template,
                        persistent-sqlite,
                        transformers,
                        text,
                        monad-control,
                        monad-logger,
                        resourcet,
                        time,
                        mtl,
                        lens,
                        aeson,
                        bytestring
    pkgconfig-depends:  gtk+-3.0
    if flag(debug-db)
        cpp-options:    -DDEBUG_DB
    if os(windows)
        build-depends:  Win32
        cpp-options:    -DWINDOWS
        if !flag(debug-db)
            ghc-options: -optl-mwindows

    other-modules:      Coin.UI.Raports.RaportSummary
                        Coin.UI.Raports.RaportHistory
                        Coin.UI.Raports.RaportHistoryAll
                        Coin.UI.Raports.RaportQuery
                        Coin.UI.Options.OptionsTag
                        Coin.UI.Options.OptionsAccount
                        Coin.UI.Accounts.AccountsIncome
                        Coin.UI.Accounts.AccountsHistory
                        Coin.UI.Accounts.AccountsOutcome
                        Coin.UI.Accounts.AccountsTransfer
                        Coin.UI.Accounts.AccountsWidget
                        Coin.UI.MainInitialize
                        Coin.UI.Widgets.SimpleListView
                        Coin.UI.Widgets.InputBox
                        Coin.UI.Widgets.ResponseButtons
                        Coin.UI.Widgets.Calendar
                        Coin.UI.Widgets.MultiList
                        Coin.UI.Widgets.StackWidget
                        Coin.UI.Widgets.CheckList
                        Coin.UI.Widgets.MessageBox
                        Coin.UI.Widgets.MiniCalendar
                        Coin.UI.TagsComboBox
                        Coin.UI.HistoryView
                        Coin.UI.MainWindow
                        Coin.UI.Builder.GtkUIAttributes
                        Coin.UI.Builder.GtkUIBuilderState
                        Coin.UI.Builder.GtkUIBuilder
                        Coin.UI.Builder.GtkUIUtils
                        Coin.UI.Utils.CssUtils
                        Coin.UI.Utils.CalendarUtils
                        Coin.UI.Utils.Observable
                        Coin.UI.MainState
                        Coin.UI.AccountsComboBox
                        Coin.UI.MainMultiList
                        Coin.Config.Dirs
                        Coin.Config.Version
                        Coin.DB.Tables
                        Coin.DB.Functions
                        Coin.Utils.ValueParser
                        Coin.Utils.TableView
                        Coin.Utils.FileHelper
                        Coin.Utils.Exception
                        Coin.Utils.IORef
                        Coin.Utils.StringUtils
                        Coin.Utils.PropertyMap
                        Coin.Utils.ColorUtils
                        Coin.Locale.LangPL
                        Coin.Locale.LangUnknown
                        Coin.Locale.Languages
                        Coin.Locale.Translate