cabal-version:       2.2

name:                vertexenum
version:             0.1.0.0
synopsis:            Vertex enumeration
description:         Vertex enumeration of convex polytopes.
homepage:            https://github.com/stla/vertexenum#readme
license:             GPL-3.0-only
license-file:        LICENSE
author:              Stéphane Laurent
maintainer:          laurent_step@outlook.fr
copyright:           2023 Stéphane Laurent
category:            Math, Geometry
build-type:          Simple
extra-source-files:  README.md
                     CHANGELOG.md

library
  hs-source-dirs:      src
  exposed-modules:     Geometry.VertexEnum
  other-modules:       Geometry.VertexEnum.Constraint
                     , Geometry.VertexEnum.Internal
                     , Geometry.VertexEnum.LinearCombination
                     , Geometry.VertexEnum.CVertexEnum
                     , Geometry.VertexEnum.VertexEnum
  build-depends:       base >= 4.7 && < 5
                     , containers >= 0.6.2.1 && < 0.8
                     , hmatrix-glpk >= 0.19.0.0 && < 0.20
                     , vector-space >= 0.15 && < 0.17
  other-extensions:    ForeignFunctionInterface
                     , TypeFamilies
                     , InstanceSigs
  default-language:    Haskell2010
  include-dirs:        C
  C-sources:           C/libqhull_r.c
                     , C/geom_r.c
                     , C/geom2_r.c
                     , C/global_r.c
                     , C/io_r.c
                     , C/mem_r.c
                     , C/merge_r.c
                     , C/poly_r.c
                     , C/poly2_r.c
                     , C/qset_r.c
                     , C/random_r.c
                     , C/usermem_r.c
                     , C/userprintf_r.c
                     , C/user_r.c
                     , C/stat_r.c
                     , C/halfspaces.c
                     , C/utils.c
  install-includes:    C/libqhull_r.h
                     , C/geom_r.h
                     , C/io_r.h
                     , C/mem_r.h
                     , C/merge_r.h
                     , C/poly_r.h
                     , C/qhull_ra.h
                     , C/qset_r.h
                     , C/random_r.h
                     , C/user_r.h
                     , C/stat_r.h
                     , C/utils.h
  ghc-options:         -Wall
                       -Wcompat
                       -Widentities
                       -Wincomplete-record-updates
                       -Wincomplete-uni-patterns
                       -Wmissing-export-lists
                       -Wmissing-home-modules
                       -Wpartial-fields
                       -Wredundant-constraints

test-suite unit-tests
  type:                 exitcode-stdio-1.0
  main-is:              Main.hs
  hs-source-dirs:       tests/
  other-modules:        Approx
  Build-Depends:        base >= 4.7 && < 5
                      , tasty
                      , tasty-hunit
                      , vertexenum
  Default-Language:     Haskell2010

source-repository head
  type:     git
  location: https://github.com/stla/vertexenum