dear-imgui.hs/dear-imgui.cabal

205 lines
3.6 KiB
Plaintext

cabal-version: 3.0
name: dear-imgui
version: 1.0.0
build-type: Simple
data-files:
imgui/imgui.h
flag opengl
description:
Enable OpenGL backend.
default:
True
manual:
False
flag vulkan
description:
Enable Vulkan backend.
default:
False
manual:
True
flag sdl
description:
Enable SDL backend.
default:
True
manual:
False
common common
build-depends:
base
>= 4.12 && < 4.17
default-language:
Haskell2010
ghc-options:
-Wall
library
import: common
hs-source-dirs:
src
exposed-modules:
DearImGui
other-modules:
DearImGui.Context
DearImGui.Enums
DearImGui.Structs
cxx-sources:
imgui/imgui.cpp
imgui/imgui_demo.cpp
imgui/imgui_draw.cpp
imgui/imgui_tables.cpp
imgui/imgui_widgets.cpp
cxx-options:
-std=c++11
extra-libraries:
stdc++
include-dirs:
imgui
build-depends:
dear-imgui-generator
, containers
, managed
, inline-c
, inline-c-cpp
, StateVar
if flag(opengl)
exposed-modules:
DearImGui.OpenGL
cxx-sources:
imgui/backends/imgui_impl_opengl2.cpp
if os(windows)
extra-libraries:
opengl32
else
if os(darwin)
frameworks:
OpenGL
else
extra-libraries:
GL
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
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
else
pkgconfig-depends:
sdl2
if flag(opengl)
exposed-modules:
DearImGui.SDL.OpenGL
if flag(vulkan)
exposed-modules:
DearImGui.SDL.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
, directory
>= 1.3 && < 1.4
, filepath
>= 1.4 && < 1.5
, megaparsec
>= 9.0 && < 9.1
, parser-combinators
>= 1.2.0 && < 1.3
, scientific
>= 0.3.6.2 && < 0.3.7
, text
>= 1.2.4 && < 1.3
, th-lift
>= 0.7 && < 0.9
, transformers
>= 0.5.6 && < 0.6
, unordered-containers
>= 0.2.11 && < 0.2.14
executable test
import: common
main-is: Main.hs
build-depends: sdl2, gl, dear-imgui
executable readme
import: common
main-is: Readme.hs
hs-source-dirs: examples
build-depends: sdl2, gl, dear-imgui, managed
executable vulkan
import: common
main-is: Main.hs
other-modules: Attachments, Backend, Input, Util
hs-source-dirs: examples/vulkan
default-language: Haskell2010
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
>= 0.2.13 && < 0.2.15
, unliftio-core
^>= 0.2.0.1
, vector
^>= 0.12.1.2
, vulkan
^>= 3.9
, vulkan-utils
^>= 0.4.1
ghc-options: -Wall