xmake.lua 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package("imgui-color-text-edit")
  2. set_homepage("https://github.com/BalazsJako/ImGuiColorTextEdit")
  3. set_description("Colorizing text editor for ImGui")
  4. set_license("MIT")
  5. add_urls("https://github.com/BalazsJako/ImGuiColorTextEdit.git")
  6. add_versions("2019.06.15", "0a88824f7de8d0bd11d8419066caa7d3469395c4")
  7. add_deps("imgui <1.91")
  8. on_install("macosx", "linux", "windows", "mingw", "android", "iphoneos", function (package)
  9. -- Fix GCC15
  10. io.replace("TextEditor.h", [[#include "imgui.h"]], [[#include "imgui.h"
  11. #include <cstdint>]], {plain = true})
  12. local imgui = package:dep("imgui")
  13. local configs = imgui:requireinfo().configs
  14. if configs then
  15. configs = string.serialize(configs, {strip = true, indent = false})
  16. end
  17. io.writefile("xmake.lua", format([[
  18. add_rules("mode.debug", "mode.release")
  19. set_languages("c++11")
  20. add_requires("imgui %s", {configs = %s})
  21. add_packages("imgui")
  22. target("imgui-color-text-edit")
  23. set_kind("$(kind)")
  24. add_files("*.cpp")
  25. add_headerfiles("*.h")
  26. if is_plat("windows") and is_kind("shared") then
  27. add_rules("utils.symbols.export_all", {export_classes = true})
  28. end
  29. ]], imgui:version_str(), configs))
  30. import("package.tools.xmake").install(package)
  31. end)
  32. on_test(function (package)
  33. assert(package:check_cxxsnippets({test = [[
  34. void test() {
  35. TextEditor editor;
  36. }
  37. ]]}, {configs = {languages = "c++11"}, includes = "TextEditor.h"}))
  38. end)