dear-imgui.hs/dear-imgui.cabal

426 lines
9.3 KiB
Plaintext
Raw Permalink 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
version: 2.2.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
extra-source-files:
2022-07-21 21:23:46 +00:00
README.md,
ChangeLog.md,
imgui/*.h,
imgui/backends/*.h,
imgui/backends/*.mm,
imgui/imconfig.h,
imgui/LICENSE.txt
2021-01-24 15:27:03 +00:00
common exe-flags
2021-09-21 12:14:37 +00:00
if flag(debug)
if os(linux)
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)
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)
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:
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 sdl-renderer
description:
Enable SDL Renderer backend (requires the SDL_RenderGeometry function available in SDL 2.0.18+).
The sdl configuration flag must also be enabled when using this flag.
default:
False
manual:
True
flag glfw
description:
Enable GLFW backend.
default:
False
manual:
True
flag examples
description:
Build executable examples.
default:
False
manual:
True
flag disable-obsolete
description:
Don't define obsolete functions/enums/behaviors. Consider enabling from time to time after updating to avoid using soon-to-be obsolete function/names.
default:
False
manual:
True
flag use-wchar32
description:
Use 32-bit for ImWchar (default is 16-bit) to support unicode planes 1-16. (e.g. point beyond 0xFFFF like emoticons, dingbats, symbols, shapes, ancient languages, etc...)
default:
True
manual:
True
flag use-ImDrawIdx32
description:
Use 32-bit vertex indices (default is 16-bit) is one way to allow large meshes with more than 64K vertices.
Your renderer backend will need to support it (most example renderer backends support both 16/32-bit indices).
Another way to allow large meshes while keeping 16-bit indices is to handle ImDrawCmd::VtxOffset in your renderer.
Read about ImGuiBackendFlags_RendererHasVtxOffset for details.
default:
True
manual:
True
common common
build-depends:
base
>= 4.12 && < 4.19
default-language:
Haskell2010
2021-01-24 15:27:03 +00:00
library
import: common
hs-source-dirs:
src
2022-07-21 21:23:46 +00:00
generator
2021-01-24 18:25:40 +00:00
exposed-modules:
DearImGui
DearImGui.FontAtlas
DearImGui.Internal.Text
DearImGui.Raw
2021-09-15 05:52:00 +00:00
DearImGui.Raw.DrawList
DearImGui.Raw.Font
DearImGui.Raw.Font.Config
DearImGui.Raw.Font.GlyphRanges
2021-10-04 17:29:32 +00:00
DearImGui.Raw.IO
DearImGui.Raw.ListClipper
2023-01-15 13:27:15 +00:00
DearImGui.Raw.Context
other-modules:
DearImGui.Enums
DearImGui.Structs
2022-07-21 21:23:46 +00:00
DearImGui.Generator
DearImGui.Generator.Parser
DearImGui.Generator.Tokeniser
DearImGui.Generator.Types
ghc-options:
-static -dynamic-too
-- create both libHSdear-imgui... .a and .so
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
2022-07-19 21:33:57 +00:00
install-includes:
imgui.h
imgui_internal.h
imstb_rectpack.h
imstb_textedit.h
imstb_truetype.h
if impl(ghc >= 9.4)
build-depends: system-cxx-std-lib
else
extra-libraries: stdc++
2021-01-24 18:25:40 +00:00
include-dirs:
imgui
build-depends:
2022-07-21 21:23:46 +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
, unliftio
, vector
2022-07-21 21:23:46 +00:00
-- for the generator:
, 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.3
, parser-combinators
>= 1.2.0 && < 1.4
, scientific
>= 0.3.6.2 && < 0.3.8
, text
2022-07-21 21:23:46 +00:00
>= 1.2.4 && < 2.1
, th-lift
>= 0.7 && < 0.9
, transformers
>= 0.5.6 && < 0.6
, unordered-containers
>= 0.2.11 && < 0.3
2021-01-24 18:25:40 +00:00
if os(darwin)
ghc-options:
-optcxx-std=c++11
if flag(disable-obsolete)
cxx-options: -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS
if flag(use-wchar32)
cxx-options: -DIMGUI_USE_WCHAR32
cpp-options: -DIMGUI_USE_WCHAR32
if flag(use-ImDrawIdx32)
cxx-options: "-DImDrawIdx=unsigned int"
cpp-options: "-DImDrawIdx=unsigned int"
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:
2023-07-17 16:13:23 +00:00
imgui/backends/imgui_impl_sdl2.cpp
2021-01-24 18:25:40 +00:00
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(sdl-renderer)
exposed-modules:
DearImGui.SDL.Renderer
cxx-sources:
imgui/backends/imgui_impl_sdlrenderer2.cpp
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
2021-01-24 15:27:03 +00:00
executable test
import: common, exe-flags
2021-01-24 15:27:03 +00:00
main-is: Main.hs
default-language: Haskell2010
if (!flag(examples) || !flag(sdl) || !flag(opengl2))
buildable: False
else
build-depends: base, sdl2, gl, dear-imgui, vector
executable glfw
import: common, exe-flags
main-is: Main.hs
hs-source-dirs: examples/glfw
default-language: Haskell2010
2022-07-21 21:23:46 +00:00
if (!flag(examples) || !flag(glfw) || !(flag(opengl3) || flag(opengl2)))
buildable: False
else
build-depends: base, GLFW-b, gl, dear-imgui, managed, text
2021-01-24 19:50:21 +00:00
executable readme
import: common, exe-flags
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 fonts
import: common, exe-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
executable image
import: common, exe-flags
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
if (!flag(examples) || !flag(sdl) || !flag(opengl3))
buildable: False
executable sdlrenderer
import: common, exe-flags
main-is: Renderer.hs
hs-source-dirs: examples/sdl
build-depends: sdl2, dear-imgui, managed, text
if (!flag(examples) || !flag(sdl) || !flag(sdl-renderer))
buildable: False
executable vulkan
import: common, exe-flags
main-is: Main.hs
other-modules: Attachments, Backend, Input, Util
hs-source-dirs: examples/vulkan
default-language: Haskell2010
if (!flag(examples) || !flag(sdl) || !flag(vulkan))
buildable: False
else
build-depends:
dear-imgui
, bytestring
>= 0.10.10.0 && < 0.13
, containers
>= 0.6.2.1 && < 0.7
, logging-effect
>= 1.3.12 && < 1.5
, resourcet
>= 1.2.4.2 && < 1.3
, sdl2
>= 2.5.3.0 && < 2.6
, text
>= 1.2.4 && < 2.1
, transformers
>= 0.5.6 && < 0.7
, unliftio
>= 0.2.13 && < 0.3
, unliftio-core
>= 0.2.0.1 && < 0.3
, vector
>= 0.12.1.2 && < 0.14
, vulkan
>= 3.12
, vulkan-utils
>= 0.5
, VulkanMemoryAllocator
>= 0.7.1
, JuicyPixels