From 03205f482ead5d30b2737d02511ee912371b1d18 Mon Sep 17 00:00:00 2001 From: Stefan Dresselhaus Date: Thu, 21 Jul 2022 23:23:46 +0200 Subject: [PATCH] refactor sharedLib --- Setup.hs | 14 --------- dear-imgui.cabal | 78 ++++++++++++++++++++++-------------------------- 2 files changed, 35 insertions(+), 57 deletions(-) delete mode 100644 Setup.hs diff --git a/Setup.hs b/Setup.hs deleted file mode 100644 index 312e7e1..0000000 --- a/Setup.hs +++ /dev/null @@ -1,14 +0,0 @@ -import Distribution.Simple - -main :: IO () -main = defaultMainWithHooks simpleUserHooks - { postCopy = copyLib - } - -copyLib :: :: Args -> CopyFlags -> PackageDescription -> LocalBuildInfo -> IO () -copyExtLib _ flags pkg_descr lbi = do - let libPref = libdir . absoluteInstallDirs pkg_descr lbi - . fromFlag . copyDest - $ flags - let verbosity = fromFlag $ copyVerbosity flags - rawSystemExit verbosity "cp" ["libHSdear-imgui-2.0.0-inplace-ghc8.10.7.so", libPref] diff --git a/dear-imgui.cabal b/dear-imgui.cabal index e513d5c..1de69f0 100644 --- a/dear-imgui.cabal +++ b/dear-imgui.cabal @@ -13,11 +13,10 @@ description: Set package flags according to your needs. build-type: Simple -extra-source-files: - README.md, - ChangeLog.md extra-source-files: + README.md, + ChangeLog.md, imgui/*.h, imgui/backends/*.h, imgui/backends/*.mm, @@ -148,6 +147,7 @@ library import: common hs-source-dirs: src + generator exposed-modules: DearImGui DearImGui.FontAtlas @@ -163,6 +163,13 @@ library DearImGui.Context DearImGui.Enums DearImGui.Structs + 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 cxx-sources: imgui/imgui.cpp @@ -178,20 +185,39 @@ library imstb_truetype.h extra-libraries: stdc++ - extra-bundled-libraries: - HSdear-imgui-2.0.0-inplace include-dirs: imgui build-depends: - dear-imgui-generator - , containers - , managed - , inline-c + managed , inline-c-cpp , StateVar , unliftio , vector + -- 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 + >= 1.2.4 && < 2.1 + , th-lift + >= 0.7 && < 0.9 + , transformers + >= 0.5.6 && < 0.6 + , unordered-containers + >= 0.2.11 && < 0.3 if flag(disable-obsolete) cxx-options: -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS @@ -285,40 +311,6 @@ library 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.3 - , parser-combinators - >= 1.2.0 && < 1.4 - , scientific - >= 0.3.6.2 && < 0.3.8 - , text - >= 1.2.4 && < 2.1 - , th-lift - >= 0.7 && < 0.9 - , transformers - >= 0.5.6 && < 0.6 - , unordered-containers - >= 0.2.11 && < 0.3 - executable test import: common, exe-flags main-is: Main.hs