aboutsummaryrefslogtreecommitdiff
path: root/chelleport.cabal
blob: ebca2229882779c28e217ed7fe73c1fa55472508 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
cabal-version:   3.0

name:            chelleport
version:         0.1.0.0
license:         MIT
author:          Akshay Nair <phenax5@gmail.com>
maintainer:      Akshay Nair <phenax5@gmail.com>
build-type:      Simple
synopsis:        Mouse control
description:     Mouse control

Flag release
  Description: Release build options
  Manual: True
  Default: False

common common-config
  default-extensions:
    ExplicitForAll,
    FlexibleContexts,
    FlexibleInstances,
    GeneralizedNewtypeDeriving,
    LambdaCase,
    NamedFieldPuns,
    NumericUnderscores,
    OverloadedStrings,
    QuasiQuotes,
    TemplateHaskell,
    TupleSections,
    UndecidableInstances
  default-language: Haskell2010
  build-depends:
    base,
    text,
    mtl == 2.3.1,
    containers

common warnings
  ghc-options:
    -Wall -Wincomplete-record-updates -Wincomplete-uni-patterns
    -Wunused-foralls -Wextra -Wno-unused-do-bind -Wname-shadowing
    -fwarn-tabs -fprint-explicit-foralls -fprint-explicit-kinds
  if flag(release)
    ghc-options: -O2 -Werror

executable chelleport
  import: common-config, warnings
  hs-source-dirs: bin
  main-is: Main.hs
  build-depends: lib-chelleport
  -- other-modules:

library lib-chelleport
  import: common-config, warnings
  hs-source-dirs: src
  build-depends:
    bytestring,
    file-embed == 0.0.16.0,
    sdl2 == 2.5.5.0,
    sdl2-ttf == 2.1.3,
    vector == 0.13.1.0,
    X11 == 1.10.3,
    xtest == 0.2
  exposed-modules:
    Chelleport
    Chelleport.AppShell
    Chelleport.Context
    Chelleport.Control
    Chelleport.Draw
    Chelleport.KeySequence
    Chelleport.Types
    Chelleport.Utils
    Chelleport.View

test-suite specs
  import: common-config
  type: exitcode-stdio-1.0
  hs-source-dirs: specs
  main-is: Main.hs
  other-modules:
    Specs.KeySequenceSpec
  build-depends:
    lib-chelleport,
    neat-interpolation,
    hspec