182 lines
5.9 KiB
Text
182 lines
5.9 KiB
Text
name: affection
|
|
|
|
-- The package version. See the Haskell package versioning policy (PVP)
|
|
-- for standards guiding when and how versions should be incremented.
|
|
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
|
|
-- PVP summary: +-+------- breaking API changes
|
|
-- | | +----- non-breaking API additions
|
|
-- | | | +--- code changes with no API change
|
|
version: 0.0.0.10
|
|
synopsis: A simple Game Engine using SDL
|
|
description: This package contains Affection, a simple game engine
|
|
written in Haskell using SDL.
|
|
This Engine is still work in progress and even minor
|
|
version bumps may contain breaking api changes.
|
|
homepage: https://github.com/nek0/affection#readme
|
|
license: LGPL-3
|
|
license-file: LICENSE
|
|
author: nek0
|
|
maintainer: nek0@chelnok.de
|
|
category: Game
|
|
build-type: Simple
|
|
extra-source-files: ChangeLog.md
|
|
|
|
-- Extra files to be distributed with the package, such as examples or a
|
|
-- README.
|
|
-- extra-source-files:
|
|
|
|
cabal-version: >=2.0
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/nek0/affection
|
|
|
|
flag verbose
|
|
description: Enable verbose debug messages
|
|
default: False
|
|
manual: True
|
|
|
|
flag debug
|
|
description: Enable debug messages
|
|
default: False
|
|
manual: True
|
|
|
|
flag warn
|
|
description: Enable warning messages
|
|
default: False
|
|
manual: True
|
|
|
|
flag error
|
|
description: Enable error messages
|
|
default: False
|
|
manual: True
|
|
|
|
flag examples
|
|
description: Build example programs
|
|
default: False
|
|
|
|
library
|
|
if flag(verbose)
|
|
cpp-options: -DVERBOSE
|
|
if flag(debug)
|
|
cpp-options: -DDEBUG
|
|
if flag(warn)
|
|
cpp-options: -DWARN
|
|
if flag(error)
|
|
cpp-options: -DERROR
|
|
exposed-modules: Affection
|
|
, Affection.Logging
|
|
, Affection.Types
|
|
, Affection.Class
|
|
, Affection.StateMachine
|
|
, Affection.Util
|
|
, Affection.MessageBus
|
|
, Affection.MessageBus.Class
|
|
, Affection.MessageBus.Message
|
|
, Affection.MessageBus.Message.Class
|
|
, Affection.MessageBus.Message.WindowMessage
|
|
, Affection.MessageBus.Message.KeyboardMessage
|
|
, Affection.MessageBus.Message.MouseMessage
|
|
, Affection.MessageBus.Message.JoystickMessage
|
|
, Affection.Subsystems
|
|
, Affection.Subsystems.Class
|
|
, Affection.Subsystems.AffectionWindow
|
|
, Affection.Subsystems.AffectionKeyboard
|
|
, Affection.Subsystems.AffectionMouse
|
|
, Affection.Subsystems.AffectionJoystick
|
|
default-extensions: OverloadedStrings
|
|
, TypeFamilies
|
|
, AllowAmbiguousTypes
|
|
|
|
-- Modules included in this library but not exported.
|
|
-- other-modules:
|
|
|
|
-- LANGUAGE extensions used by modules in this package.
|
|
-- other-extensions: GADTs
|
|
-- , KindSignatures
|
|
-- , FlexibleInstances
|
|
-- , MultiParamTypeClasses
|
|
-- , UndecidableInstances
|
|
hs-source-dirs: src
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall
|
|
-- Other library packages from which modules are imported.
|
|
build-depends: base >=4.9 && < 5
|
|
, sdl2 >= 2.5
|
|
, linear
|
|
, text
|
|
, mtl
|
|
, monad-loops
|
|
, monad-parallel
|
|
, containers
|
|
, clock >= 0.8
|
|
, glib
|
|
, bytestring
|
|
, OpenGL
|
|
, OpenGLRaw
|
|
, stm
|
|
, uuid
|
|
, vector
|
|
, resourcet
|
|
|
|
-- This example shows the message system. only makes sense when compiling with
|
|
-- verbose flag.
|
|
executable example00
|
|
hs-source-dirs: examples/example00
|
|
main-is: Main.hs
|
|
ghc-options: -threaded -Wall
|
|
default-language: Haskell2010
|
|
default-extensions: OverloadedStrings
|
|
if flag(examples)
|
|
build-depends: base >=4.9 && < 5
|
|
, affection
|
|
, sdl2 >= 2.5
|
|
, stm
|
|
else
|
|
buildable: False
|
|
|
|
-- A small game of life implementation
|
|
executable example01
|
|
hs-source-dirs: examples/example01
|
|
main-is: Main.hs
|
|
other-modules: Types
|
|
ghc-options: -threaded -Wall
|
|
default-language: Haskell2010
|
|
default-extensions: OverloadedStrings
|
|
if flag(examples)
|
|
build-depends: base >=4.9 && < 5
|
|
, affection
|
|
, sdl2 >= 2.5
|
|
, stm
|
|
, OpenGL
|
|
, random
|
|
, containers
|
|
, linear
|
|
, matrix
|
|
, nanovg >= 0.6.0.0
|
|
, deepseq
|
|
else
|
|
buildable: False
|
|
|
|
-- Another small game of life implementation
|
|
executable example02
|
|
hs-source-dirs: examples/example02
|
|
main-is: Main.hs
|
|
other-modules: Types
|
|
ghc-options: -threaded -Wall
|
|
default-language: Haskell2010
|
|
default-extensions: OverloadedStrings
|
|
if flag(examples)
|
|
build-depends: base >=4.9 && < 5
|
|
, affection
|
|
, sdl2 >= 2.5
|
|
, stm
|
|
, OpenGL
|
|
, random
|
|
, containers
|
|
, linear
|
|
, matrix
|
|
, nanovg >= 0.6.0.0
|
|
, deepseq
|
|
else
|
|
buildable: False
|