xmake.lua 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package("atk")
  2. set_homepage("https://gitlab.gnome.org/GNOME/atk")
  3. set_description("ATK - The Accessibility Toolkit")
  4. set_license("LGPL-2.0")
  5. add_urls("https://gitlab.gnome.org/Archive/atk/-/archive/$(version)/atk-$(version).tar.bz2",
  6. "https://gitlab.gnome.org/Archive/atk.git")
  7. add_versions("2.38.0", "469313d28bd22bcbf7b7ea300dddb9b6c13854455d297f4d51a944e378b0a9d7")
  8. add_configs("introspection", {description = "Whether to build introspection files", default = false, type = "boolean"})
  9. if is_plat("mingw") and is_subhost("msys") then
  10. add_extsources("pacman::atk")
  11. elseif is_plat("linux") then
  12. add_extsources("pacman::atk", "apt::libatk1.0-dev")
  13. elseif is_plat("macosx")then
  14. add_extsources("brew::atk")
  15. end
  16. add_includedirs("include/atk-1.0")
  17. add_deps("meson", "ninja", "glib")
  18. if is_plat("windows") then
  19. add_deps("pkgconf")
  20. end
  21. on_install("windows", "macosx", "linux", "cross", function (package)
  22. local configs = {}
  23. table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
  24. table.insert(configs, "-Dintrospection=" .. (package:config("introspection") and "true" or "false"))
  25. import("package.tools.meson").install(package, configs, {packagedeps = {"libintl", "libiconv"}})
  26. end)
  27. on_test(function (package)
  28. assert(package:has_cfuncs("atk_object_initialize", {includes = "atk/atk.h"}))
  29. end)