xmake.lua 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package("libverto")
  2. set_homepage("https://github.com/latchset/libverto")
  3. set_description("An async event loop abstraction library")
  4. set_license("MIT")
  5. add_urls("https://github.com/latchset/libverto/releases/download/$(version)/libverto-$(version).tar.gz")
  6. add_versions("0.3.2", "8d1756fd704f147549f606cd987050fb94b0b1ff621ea6aa4d6bf0b74450468a")
  7. local cdeps = {"glib", "libev", "libevent"}
  8. for _, cdep in ipairs(cdeps) do
  9. add_configs(cdep, {description = "Enable " .. cdep .. " support.", default = false, type = "boolean"})
  10. end
  11. on_load("macosx", "linux", function (package)
  12. for _, cdep in ipairs(cdeps) do
  13. if package:config(cdep) then
  14. package:add("deps", cdep)
  15. end
  16. end
  17. end)
  18. on_install("macosx", "linux", function (package)
  19. local configs = {"--disable-dependency-tracking"}
  20. table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
  21. table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
  22. for _, cdep in ipairs(cdeps) do
  23. table.insert(configs, "--with-" .. cdep .. "=" .. (package:config(cdep) and "yes" or "no"))
  24. end
  25. if package:config("pic") ~= false then
  26. table.insert(configs, "--with-pic")
  27. end
  28. import("package.tools.autoconf").install(package)
  29. end)
  30. on_test(function (package)
  31. assert(package:has_cfuncs("verto_get_supported_types", {includes = "verto-module.h"}))
  32. end)