dear-imgui.hs/dear-imgui.cabal

299 lines
5.5 KiB
Plaintext
Raw Normal View History

2021-01-24 15:27:03 +00:00
cabal-version: 3.0
2021-06-30 21:47:23 +00:00
2021-01-24 15:27:03 +00:00
name: dear-imgui
2021-08-30 16:57:00 +00:00
version: 1.1.0
2021-06-30 21:47:23 +00:00
author: Oliver Charles
maintainer: ollie@ocharles.org.uk, aenor.realm@gmail.com
license: BSD-3-Clause
category: Graphics
synopsis: Haskell bindings for Dear ImGui.
description:
The package supports multiple rendering backends.
Set package flags according to your needs.
2021-01-24 15:27:03 +00:00
build-type: Simple
2021-06-30 21:47:23 +00:00
extra-source-files:
README.md,
ChangeLog.md
extra-source-files:
imgui/*.h,
imgui/backends/*.h,
imgui/backends/*.mm,
imgui/imconfig.h,
imgui/LICENSE.txt
2021-01-24 15:27:03 +00:00
2021-06-30 21:47:23 +00:00
source-repository head
type: git
location: https://github.com/haskell-game/dear-imgui.hs
2021-02-06 14:44:58 +00:00
flag opengl2
2021-01-24 18:25:40 +00:00
description:
2021-02-06 14:44:58 +00:00
Enable OpenGL 2 backend.
default:
False
manual:
True
2021-02-06 14:44:58 +00:00
flag opengl3
description:
Enable OpenGL 3 backend.
2021-01-24 18:25:40 +00:00
default:
True
manual:
True
2021-01-24 18:25:40 +00:00
flag vulkan
description:
Enable Vulkan backend.
default:
False
manual:
True
2021-01-24 18:25:40 +00:00
flag sdl
description:
Enable SDL backend.
default:
True
manual:
True
2021-01-24 18:25:40 +00:00
flag glfw
description:
Enable GLFW backend.
default:
False
manual:
True
flag examples
description:
Build executable examples.
default:
False
manual:
True
common common
build-depends:
base
>= 4.12 && < 4.17
default-language:
Haskell2010
ghc-options:
-Wall
2021-01-24 15:27:03 +00:00
library
import: common
hs-source-dirs:
src
2021-01-24 18:25:40 +00:00
exposed-modules:
DearImGui
DearImGui.Raw
other-modules:
DearImGui.Context
DearImGui.Enums
DearImGui.Structs
2021-01-24 15:27:03 +00:00
cxx-sources:
imgui/imgui.cpp
2021-01-24 18:25:40 +00:00
imgui/imgui_demo.cpp
imgui/imgui_draw.cpp
2021-01-24 15:27:03 +00:00
imgui/imgui_tables.cpp
imgui/imgui_widgets.cpp
2021-01-24 18:25:40 +00:00
cxx-options:
-std=c++11
extra-libraries:
stdc++
include-dirs:
imgui
build-depends:
dear-imgui-generator
, containers
2021-01-28 23:38:59 +00:00
, managed
2021-01-24 18:25:40 +00:00
, inline-c
, inline-c-cpp
, StateVar
, unliftio
2021-01-24 18:25:40 +00:00
2021-02-06 14:44:58 +00:00
if flag(opengl2)
2021-01-24 18:25:40 +00:00
exposed-modules:
2021-02-06 14:44:58 +00:00
DearImGui.OpenGL2
2021-01-24 18:25:40 +00:00
cxx-sources:
imgui/backends/imgui_impl_opengl2.cpp
2021-02-06 14:44:58 +00:00
build-depends:
gl
if flag(opengl3)
exposed-modules:
DearImGui.OpenGL3
cxx-sources:
imgui/backends/imgui_impl_opengl3.cpp
pkgconfig-depends:
glew
2021-01-24 18:25:40 +00:00
if flag(vulkan)
exposed-modules:
DearImGui.Vulkan
other-modules:
DearImGui.Vulkan.Types
build-depends:
vulkan
, unliftio
cxx-sources:
imgui/backends/imgui_impl_vulkan.cpp
if os(windows)
extra-libraries:
vulkan-1
else
if os(darwin)
extra-libraries:
vulkan
else
pkgconfig-depends:
vulkan
2021-01-24 18:25:40 +00:00
if flag(sdl)
exposed-modules:
DearImGui.SDL
build-depends:
sdl2
cxx-sources:
imgui/backends/imgui_impl_sdl.cpp
if os(windows) || os(darwin)
extra-libraries:
SDL2
2021-01-24 18:25:40 +00:00
else
pkgconfig-depends:
sdl2
2021-02-06 14:44:58 +00:00
if flag(opengl2) || flag(opengl3)
2021-01-24 18:25:40 +00:00
exposed-modules:
DearImGui.SDL.OpenGL
2021-01-24 15:27:03 +00:00
if flag(vulkan)
exposed-modules:
DearImGui.SDL.Vulkan
if flag(glfw)
exposed-modules:
DearImGui.GLFW
build-depends:
2021-09-01 16:22:55 +00:00
GLFW-b,
bindings-GLFW
cxx-sources:
imgui/backends/imgui_impl_glfw.cpp
if os(linux) || os(darwin)
pkgconfig-depends:
glfw3
2021-02-06 14:44:58 +00:00
if flag(opengl2) || flag(opengl3)
exposed-modules:
DearImGui.GLFW.OpenGL
if flag(vulkan)
exposed-modules:
DearImGui.GLFW.Vulkan
library dear-imgui-generator
import: common
hs-source-dirs: generator
exposed-modules:
DearImGui.Generator
, DearImGui.Generator.Parser
, DearImGui.Generator.Tokeniser
, DearImGui.Generator.Types
build-depends:
template-haskell
>= 2.15 && < 2.19
, containers
^>= 0.6.2.1
, directory
>= 1.3 && < 1.4
, filepath
>= 1.4 && < 1.5
, inline-c
>= 0.9.0.0 && < 0.10
, megaparsec
>= 9.0 && < 9.1
, parser-combinators
>= 1.2.0 && < 1.3
, scientific
2021-06-15 21:52:39 +00:00
>= 0.3.6.2 && < 0.3.8
, text
>= 1.2.4 && < 1.3
, th-lift
>= 0.7 && < 0.9
, transformers
>= 0.5.6 && < 0.6
, unordered-containers
2021-06-15 21:52:39 +00:00
>= 0.2.11 && < 0.2.15
2021-01-24 15:27:03 +00:00
executable test
import: common
2021-01-24 15:27:03 +00:00
main-is: Main.hs
default-language: Haskell2010
ghc-options: -Wall
if (!flag(examples) || !flag(sdl) || !flag(opengl2))
buildable: False
else
build-depends: base, sdl2, gl, dear-imgui
executable glfw
main-is: Main.hs
hs-source-dirs: examples/glfw
default-language: Haskell2010
ghc-options: -Wall
if (!flag(examples) || !flag(glfw) || !flag(opengl2))
buildable: False
else
build-depends: base, GLFW-b, gl, dear-imgui, managed
2021-01-24 19:50:21 +00:00
executable readme
import: common
2021-01-24 19:50:21 +00:00
main-is: Readme.hs
hs-source-dirs: examples
build-depends: sdl2, gl, dear-imgui, managed
if (!flag(examples) || !flag(sdl) || !flag(opengl2))
buildable: False
executable vulkan
import: common
main-is: Main.hs
other-modules: Attachments, Backend, Input, Util
hs-source-dirs: examples/vulkan
default-language: Haskell2010
ghc-options: -Wall
if (!flag(examples) || !flag(sdl) || !flag(vulkan))
buildable: False
else
build-depends:
dear-imgui
, bytestring
>= 0.10.10.0 && < 0.12
, containers
^>= 0.6.2.1
, logging-effect
^>= 1.3.12
, resourcet
^>= 1.2.4.2
, sdl2
^>= 2.5.3.0
, text-short
^>= 0.1.3
, transformers
^>= 0.5.6.2
, unliftio
2021-06-15 21:52:39 +00:00
>= 0.2.13 && < 0.2.19
, unliftio-core
^>= 0.2.0.1
, vector
^>= 0.12.1.2
, vulkan
^>= 3.9
, vulkan-utils
^>= 0.4.1