xmake.lua 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package("haclog")
  2. set_homepage("https://github.com/MuggleWei/haclog")
  3. set_description("Haclog(Happy Aync C log) is an extremely fast plain C logging library")
  4. set_license("MIT")
  5. add_urls("https://github.com/MuggleWei/haclog/archive/refs/tags/$(version).tar.gz",
  6. "https://github.com/MuggleWei/haclog.git")
  7. add_versions("v0.4.0", "00752913e253acc2dbd7408d03a1a02893ca36542a20e8b88e8e2dc3d68fcd3d")
  8. add_versions("v0.2.0", "5e055f69e490298a9515c38b3b024a97b41d4dfb5daaaf0ef94eb5c1da9db5ca")
  9. add_versions("v0.1.6", "3afdb52d21b03a085291074612c39fab3ef056b6b32071693df4a2b60b9b6554")
  10. add_versions("v0.0.5", "789340ba87ac076e4c5559e1e6e0bf4f1e17f2e55c4845d0f9fc8ead8e6d7f5f")
  11. if is_plat("linux", "bsd") then
  12. add_syslinks("pthread")
  13. end
  14. on_load(function (package)
  15. if package:is_plat("cross") then
  16. package:add("deps", "meson", "ninja")
  17. else
  18. package:add("deps", "cmake")
  19. end
  20. end)
  21. on_install("windows", "linux", "macosx", "android", "cross", function (package)
  22. local configs = {}
  23. if package:is_plat("cross") then
  24. table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
  25. import("package.tools.meson").install(package, configs)
  26. else
  27. table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
  28. table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
  29. import("package.tools.cmake").install(package, configs)
  30. end
  31. end)
  32. on_test(function (package)
  33. assert(package:has_cfuncs("haclog_console_handler_init", {includes = "haclog/haclog.h"}))
  34. end)