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-10-30 18:49:39 +00:00
|
|
|
version: 1.2.2
|
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,
|
2021-06-30 22:33:00 +00:00
|
|
|
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-09-21 12:14:37 +00:00
|
|
|
common build-flags
|
|
|
|
if flag(debug)
|
|
|
|
if os(linux)
|
2021-10-04 18:41:07 +00:00
|
|
|
ghc-options: -Wall -g -rtsopts -dcore-lint -debug
|
2021-09-21 12:14:37 +00:00
|
|
|
cc-options: -g -O0 -fsanitize=address -fno-omit-frame-pointer
|
|
|
|
cxx-options: -g -O0 -fsanitize=address -fno-omit-frame-pointer -std=c++11
|
|
|
|
if os(darwin)
|
2021-10-04 18:41:07 +00:00
|
|
|
ghc-options: -Wall -g -rtsopts -dcore-lint -debug
|
2021-09-21 12:14:37 +00:00
|
|
|
cc-options: -g -O0 -fsanitize=address -fno-omit-frame-pointer
|
|
|
|
cxx-options: -g -O0 -fsanitize=address -fno-omit-frame-pointer -std=c++11
|
|
|
|
if os(windows)
|
2021-10-04 18:41:07 +00:00
|
|
|
ghc-options: -Wall -g -rtsopts -dcore-lint -debug
|
2021-09-21 12:14:37 +00:00
|
|
|
cc-options: -g -O0
|
|
|
|
cxx-options: -g -O0 -std=c++11
|
|
|
|
else
|
|
|
|
if os(linux)
|
|
|
|
ghc-options: -Wall -O2
|
|
|
|
cc-options: -O2
|
|
|
|
cxx-options: -std=c++11 -O2
|
|
|
|
if os(darwin)
|
|
|
|
ghc-options: -Wall -O2
|
|
|
|
cc-options: -O2
|
|
|
|
if os(windows)
|
|
|
|
ghc-options: -Wall -O2
|
|
|
|
cc-options: -O2
|
|
|
|
|
|
|
|
|
2021-06-30 21:47:23 +00:00
|
|
|
source-repository head
|
|
|
|
type: git
|
|
|
|
location: https://github.com/haskell-game/dear-imgui.hs
|
|
|
|
|
2021-09-21 12:14:37 +00:00
|
|
|
flag debug
|
|
|
|
description:
|
|
|
|
Enable debug mode.
|
|
|
|
default:
|
|
|
|
False
|
|
|
|
manual:
|
|
|
|
True
|
|
|
|
|
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:
|
2021-06-20 17:24:22 +00:00
|
|
|
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:
|
2021-06-20 17:24:22 +00:00
|
|
|
True
|
2021-01-24 18:25:40 +00:00
|
|
|
|
2021-01-26 20:45:21 +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:
|
2021-06-20 17:24:22 +00:00
|
|
|
True
|
2021-01-24 18:25:40 +00:00
|
|
|
|
2021-02-05 21:44:52 +00:00
|
|
|
flag glfw
|
|
|
|
description:
|
|
|
|
Enable GLFW backend.
|
|
|
|
default:
|
|
|
|
False
|
|
|
|
manual:
|
|
|
|
True
|
|
|
|
|
2021-03-11 22:59:57 +00:00
|
|
|
flag examples
|
|
|
|
description:
|
|
|
|
Build executable examples.
|
|
|
|
default:
|
|
|
|
False
|
|
|
|
manual:
|
|
|
|
True
|
|
|
|
|
2021-02-05 20:57:17 +00:00
|
|
|
common common
|
|
|
|
build-depends:
|
|
|
|
base
|
|
|
|
>= 4.12 && < 4.17
|
|
|
|
default-language:
|
|
|
|
Haskell2010
|
|
|
|
|
2021-01-24 15:27:03 +00:00
|
|
|
library
|
2021-10-04 18:41:07 +00:00
|
|
|
import: common
|
2021-02-05 20:57:17 +00:00
|
|
|
hs-source-dirs:
|
|
|
|
src
|
2021-01-24 18:25:40 +00:00
|
|
|
exposed-modules:
|
|
|
|
DearImGui
|
2021-12-22 10:28:46 +00:00
|
|
|
DearImGui.FontAtlas
|
2021-04-05 17:16:09 +00:00
|
|
|
DearImGui.Raw
|
2021-09-15 05:52:00 +00:00
|
|
|
DearImGui.Raw.DrawList
|
2021-12-22 10:28:46 +00:00
|
|
|
DearImGui.Raw.Font
|
|
|
|
DearImGui.Raw.Font.Config
|
|
|
|
DearImGui.Raw.Font.GlyphRanges
|
2021-09-17 08:09:22 +00:00
|
|
|
DearImGui.Raw.ListClipper
|
2021-10-04 17:29:32 +00:00
|
|
|
DearImGui.Raw.IO
|
2021-02-05 20:57:17 +00:00
|
|
|
other-modules:
|
2021-01-24 20:46:01 +00:00
|
|
|
DearImGui.Context
|
2021-02-05 20:57:17 +00:00
|
|
|
DearImGui.Enums
|
|
|
|
DearImGui.Structs
|
2021-10-04 18:41:07 +00:00
|
|
|
cxx-options: -std=c++11
|
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
|
|
|
extra-libraries:
|
|
|
|
stdc++
|
|
|
|
include-dirs:
|
|
|
|
imgui
|
|
|
|
build-depends:
|
2021-02-05 20:57:17 +00:00
|
|
|
dear-imgui-generator
|
2021-01-24 20:46:01 +00:00
|
|
|
, containers
|
2021-01-28 23:38:59 +00:00
|
|
|
, managed
|
2021-01-24 18:25:40 +00:00
|
|
|
, inline-c
|
|
|
|
, inline-c-cpp
|
|
|
|
, StateVar
|
2021-04-18 10:10:20 +00:00
|
|
|
, unliftio
|
2021-09-17 08:09:22 +00:00
|
|
|
, vector
|
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
|
2021-02-06 21:19:56 +00:00
|
|
|
pkgconfig-depends:
|
|
|
|
glew
|
2021-01-24 18:25:40 +00:00
|
|
|
|
2021-01-26 20:45:21 +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:
|
2021-01-25 16:42:31 +00:00
|
|
|
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
|
|
|
|
2021-01-26 20:45:21 +00:00
|
|
|
if flag(vulkan)
|
|
|
|
exposed-modules:
|
|
|
|
DearImGui.SDL.Vulkan
|
|
|
|
|
2021-02-05 21:44:52 +00:00
|
|
|
if flag(glfw)
|
|
|
|
exposed-modules:
|
|
|
|
DearImGui.GLFW
|
|
|
|
build-depends:
|
2021-09-01 16:22:55 +00:00
|
|
|
GLFW-b,
|
|
|
|
bindings-GLFW
|
2021-02-05 21:44:52 +00:00
|
|
|
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)
|
2021-02-05 21:44:52 +00:00
|
|
|
exposed-modules:
|
|
|
|
DearImGui.GLFW.OpenGL
|
|
|
|
|
|
|
|
if flag(vulkan)
|
|
|
|
exposed-modules:
|
|
|
|
DearImGui.GLFW.Vulkan
|
|
|
|
|
2021-02-05 20:57:17 +00:00
|
|
|
library dear-imgui-generator
|
2021-10-04 18:41:07 +00:00
|
|
|
import: common
|
2021-02-05 20:57:17 +00:00
|
|
|
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
|
2021-02-07 23:07:14 +00:00
|
|
|
, containers
|
|
|
|
^>= 0.6.2.1
|
2021-02-05 20:57:17 +00:00
|
|
|
, directory
|
|
|
|
>= 1.3 && < 1.4
|
|
|
|
, filepath
|
|
|
|
>= 1.4 && < 1.5
|
2021-02-07 23:07:14 +00:00
|
|
|
, inline-c
|
|
|
|
>= 0.9.0.0 && < 0.10
|
2021-02-05 20:57:17 +00:00
|
|
|
, megaparsec
|
2021-10-30 18:57:15 +00:00
|
|
|
>= 9.0 && < 9.3
|
2021-02-05 20:57:17 +00:00
|
|
|
, parser-combinators
|
2021-09-08 12:10:39 +00:00
|
|
|
>= 1.2.0 && < 1.4
|
2021-02-05 20:57:17 +00:00
|
|
|
, scientific
|
2021-06-15 21:52:39 +00:00
|
|
|
>= 0.3.6.2 && < 0.3.8
|
2021-02-05 20:57:17 +00:00
|
|
|
, text
|
|
|
|
>= 1.2.4 && < 1.3
|
|
|
|
, th-lift
|
|
|
|
>= 0.7 && < 0.9
|
|
|
|
, transformers
|
|
|
|
>= 0.5.6 && < 0.6
|
|
|
|
, unordered-containers
|
2021-12-19 15:25:11 +00:00
|
|
|
>= 0.2.11 && < 0.3
|
2021-01-24 15:27:03 +00:00
|
|
|
|
|
|
|
executable test
|
2021-09-21 12:14:37 +00:00
|
|
|
import: common, build-flags
|
2021-01-24 15:27:03 +00:00
|
|
|
main-is: Main.hs
|
2021-02-05 21:44:52 +00:00
|
|
|
default-language: Haskell2010
|
2021-03-11 22:59:57 +00:00
|
|
|
if (!flag(examples) || !flag(sdl) || !flag(opengl2))
|
|
|
|
buildable: False
|
2021-03-12 15:39:24 +00:00
|
|
|
else
|
2021-09-17 08:09:22 +00:00
|
|
|
build-depends: base, sdl2, gl, dear-imgui, vector
|
2021-02-05 21:44:52 +00:00
|
|
|
|
|
|
|
executable glfw
|
2021-09-21 12:14:37 +00:00
|
|
|
import: common, build-flags
|
2021-02-05 21:44:52 +00:00
|
|
|
main-is: Main.hs
|
|
|
|
hs-source-dirs: examples/glfw
|
|
|
|
default-language: Haskell2010
|
2021-03-11 22:59:57 +00:00
|
|
|
if (!flag(examples) || !flag(glfw) || !flag(opengl2))
|
|
|
|
buildable: False
|
2021-03-12 15:39:24 +00:00
|
|
|
else
|
|
|
|
build-depends: base, GLFW-b, gl, dear-imgui, managed
|
2021-01-24 19:50:21 +00:00
|
|
|
|
|
|
|
executable readme
|
2021-09-21 12:14:37 +00:00
|
|
|
import: common, build-flags
|
2021-01-24 19:50:21 +00:00
|
|
|
main-is: Readme.hs
|
|
|
|
hs-source-dirs: examples
|
2021-02-05 20:57:17 +00:00
|
|
|
build-depends: sdl2, gl, dear-imgui, managed
|
2021-03-11 22:59:57 +00:00
|
|
|
if (!flag(examples) || !flag(sdl) || !flag(opengl2))
|
|
|
|
buildable: False
|
2021-01-26 20:45:21 +00:00
|
|
|
|
2021-12-22 10:28:46 +00:00
|
|
|
executable fonts
|
|
|
|
import: common, build-flags
|
|
|
|
main-is: Main.hs
|
|
|
|
hs-source-dirs: examples/fonts
|
|
|
|
build-depends: sdl2, gl, dear-imgui, managed
|
|
|
|
if (!flag(examples) || !flag(sdl) || !flag(opengl2))
|
|
|
|
buildable: False
|
|
|
|
|
2021-09-12 10:35:03 +00:00
|
|
|
executable image
|
2021-09-21 12:14:37 +00:00
|
|
|
import: common, build-flags
|
2021-09-12 10:35:03 +00:00
|
|
|
main-is: Image.hs
|
|
|
|
hs-source-dirs: examples/sdl
|
2021-09-12 11:56:43 +00:00
|
|
|
build-depends: sdl2, gl, dear-imgui, managed, vector
|
2021-09-12 10:35:03 +00:00
|
|
|
if (!flag(examples) || !flag(sdl) || !flag(opengl2))
|
|
|
|
buildable: False
|
|
|
|
|
2021-01-26 20:45:21 +00:00
|
|
|
executable vulkan
|
2021-09-21 12:14:37 +00:00
|
|
|
import: common, build-flags
|
2021-01-26 20:45:21 +00:00
|
|
|
main-is: Main.hs
|
|
|
|
other-modules: Attachments, Backend, Input, Util
|
|
|
|
hs-source-dirs: examples/vulkan
|
|
|
|
default-language: Haskell2010
|
2021-03-11 22:59:57 +00:00
|
|
|
if (!flag(examples) || !flag(sdl) || !flag(vulkan))
|
|
|
|
buildable: False
|
2021-03-12 15:39:24 +00:00
|
|
|
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
|
2021-03-12 15:39:24 +00:00
|
|
|
, unliftio-core
|
|
|
|
^>= 0.2.0.1
|
|
|
|
, vector
|
|
|
|
^>= 0.12.1.2
|
|
|
|
, vulkan
|
|
|
|
^>= 3.9
|
|
|
|
, vulkan-utils
|
|
|
|
^>= 0.4.1
|