xmake.lua 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. package("sheenbidi")
  2. set_homepage("https://github.com/Tehreer/SheenBidi")
  3. set_description("A sophisticated implementation of Unicode Bidirectional Algorithm")
  4. set_license("Apache-2.0")
  5. add_urls("https://github.com/Tehreer/SheenBidi/archive/refs/tags/$(version).tar.gz",
  6. "https://github.com/Tehreer/SheenBidi.git")
  7. add_versions("v2.8", "6f27d5f347447f593bde573e4cb477925f7ed96afa4f936e7852803e1ddf3fea")
  8. add_versions("v2.7", "620f732141fd62354361f921a67ba932c44d94e73f127379a0c73ad40c7fa6e0")
  9. add_versions("v2.6", "f538f51a7861dd95fb9e3f4ad885f39204b5c670867019b5adb7c4b410c8e0d9")
  10. on_install(function (package)
  11. io.writefile("xmake.lua", [[
  12. add_rules("mode.debug", "mode.release")
  13. set_languages("c11")
  14. set_encodings("utf-8")
  15. target("sheenbidi")
  16. set_kind("$(kind)")
  17. add_files("Source/SheenBidi.c")
  18. add_defines("SB_CONFIG_UNITY")
  19. add_includedirs("Headers")
  20. add_headerfiles("Headers/*.h", {prefixdir = "SheenBidi"})
  21. if is_plat("windows") and is_kind("shared") then
  22. add_rules("utils.symbols.export_all", {export_classes = true})
  23. end
  24. ]])
  25. import("package.tools.xmake").install(package)
  26. end)
  27. on_test(function (package)
  28. assert(package:has_cfuncs("SBAlgorithmCreate", {includes = "SheenBidi/SheenBidi.h", {configs = {languages = "c11"}}}))
  29. end)