packages feed

opencv-extra-0.2.0.0: opencv-extra.cabal

name:          opencv-extra
version:       0.2.0.0
homepage:      https://github.com/LumiGuide/haskell-opencv
bug-reports:   https://github.com/LumiGuide/haskell-opencv/issues
license:       BSD3
license-file:  LICENSE
author:        Roel van Dijk <roel@lambdacube.nl>, Bas van Dijk <v.dijk.bas@gmail.com>
maintainer:    Roel van Dijk <roel@lambdacube.nl>, Bas van Dijk <v.dijk.bas@gmail.com>
build-type:    Custom
cabal-version: >=1.23
category:      AI, Graphics
synopsis:      Haskell binding to OpenCV-3.x extra modules
description:   <<https://raw.githubusercontent.com/LumiGuide/haskell-opencv/master/data/haskell-opencv-logo-200x82.png>>
               .
               This is a Haskell library providing a binding to the OpenCV-3.x contrib modules.
               It binds directly with the C++ API using the @inline-c@ Haskell library.
               .
               The library is far from complete but the framework is there to easily
               bind missing functionality.
               .
               Make sure to checkout the
               <https://github.com/LumiGuide/haskell-opencv/tree/master/opencv-extra-examples opencv-extra-examples>.

extra-source-files:
    CHANGELOG.md
    data/*.png
    data/*.jpg
    data/*.mp4
    data/*.xml

extra-doc-files:
    doc/generated/*.png
    doc/generated/examples/*.png

source-repository head
  type:     git
  location: git://github.com/LumiGuide/haskell-opencv.git
  subdir:   opencv-extra

flag internal-documentation
    description: Enables documentation generation for internal modules.
    default: False
    manual: True

custom-setup
    setup-depends: base, Cabal >= 1.23

library
    hs-source-dirs: src
    include-dirs: include
    install-includes:
        aruco.hpp
        bgsegm.hpp
        tracking.hpp
        white-ballance.hpp
        xfeatures/surf.hpp
        aruco-namespace.hpp

    c-sources:
        src/OpenCV/Extra/ArUco.cpp
        src/OpenCV/Extra/Bgsegm.cpp
        src/OpenCV/Extra/Tracking.cpp
        src/OpenCV/Extra/XPhoto.cpp
        src/OpenCV/Extra/XPhoto/WhiteBalancer.cpp
        src/OpenCV/Extra/XFeatures2d.cpp

    cc-options: -Wall -std=c++11
    ghc-options: -Wall -fwarn-incomplete-patterns -funbox-strict-fields -O2
    if flag(internal-documentation)
        cpp-options: -DENABLE_INTERNAL_DOCUMENTATION

    build-depends:
        base              >= 4.8     && <5
      , bindings-DSL      >= 1.0.23
      , bytestring        >= 0.10.6
      , containers        >= 0.5.6.2
      , inline-c          >= 0.5.5.5
      , inline-c-cpp      >= 0.1
      , linear            >= 1.20.4
      , opencv            >= 0.0.0.0
      , primitive         >= 0.6.1
      , template-haskell  >= 2.10
      , transformers      >= 0.4.2
      , vector            >= 0.11

    exposed-modules:
        OpenCV.Extra
        OpenCV.Extra.ArUco
        OpenCV.Extra.Bgsegm
        OpenCV.Extra.XFeatures2d
        OpenCV.Extra.Tracking
        OpenCV.Extra.XPhoto
        OpenCV.Extra.XPhoto.WhiteBalancer

        OpenCV.Extra.Internal.C.Inline
        OpenCV.Extra.Internal.C.Types

    default-extensions:
        BangPatterns
        DataKinds
        FlexibleContexts
        FlexibleInstances
        LambdaCase
        OverloadedStrings
        PackageImports
        PolyKinds
        ScopedTypeVariables
        TupleSections
        TypeFamilies
        TypeOperators

    default-language:   Haskell2010
    pkgconfig-depends:  opencv >= 3.0.0
    extra-libraries:    stdc++

test-suite doc-images-opencv-extra
    type: exitcode-stdio-1.0
    hs-source-dirs: doc
    main-is: images.hs
    other-modules:
        ExampleExtractor
        Language.Haskell.Meta.Syntax.Translate
    default-language: Haskell2010
    ghc-options: -Wall -fwarn-incomplete-patterns -threaded -funbox-strict-fields -O2 -rtsopts
    cpp-options: -DHAVE_OPENCV_EXTRA
    build-depends:
        base              >= 4.8 && < 5
      , bytestring        >= 0.10.6
      , containers        >= 0.5.6.2
      , data-default      >= 0.7.1.1
      , directory         >= 1.2.2
      , Glob              >= 0.7.5
      , haskell-src-exts  >= 1.18.2
      , JuicyPixels       >= 3.2.8.1
      , linear            >= 1.20.4
      , opencv
      , opencv-extra
      , primitive         >= 0.6.1
      , template-haskell  >= 2.10
      , text              >= 1.2.2.1
      , transformers      >= 0.4.2
      , vector            >= 0.11

    default-extensions:
        BangPatterns
        DataKinds
        LambdaCase
        OverloadedStrings
        PackageImports
        PolyKinds
        ScopedTypeVariables
        TupleSections
        TypeFamilies
        TypeOperators