xmake.lua 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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.3", "af9e16d144ceab36fa8ae0dc44757c0f53f4a44e43a633e5cc42a504ac2055dc")
  8. add_versions("v0.4.0", "00752913e253acc2dbd7408d03a1a02893ca36542a20e8b88e8e2dc3d68fcd3d")
  9. add_versions("v0.2.0", "5e055f69e490298a9515c38b3b024a97b41d4dfb5daaaf0ef94eb5c1da9db5ca")
  10. add_versions("v0.1.6", "3afdb52d21b03a085291074612c39fab3ef056b6b32071693df4a2b60b9b6554")
  11. add_versions("v0.0.5", "789340ba87ac076e4c5559e1e6e0bf4f1e17f2e55c4845d0f9fc8ead8e6d7f5f")
  12. if is_plat("linux", "bsd") then
  13. add_syslinks("pthread")
  14. end
  15. on_load(function (package)
  16. if package:is_plat("cross") then
  17. package:add("deps", "meson", "ninja")
  18. else
  19. package:add("deps", "cmake")
  20. end
  21. end)
  22. on_install("windows", "linux", "macosx", "android", "cross", function (package)
  23. local configs = {}
  24. if package:is_plat("cross") then
  25. table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
  26. import("package.tools.meson").install(package, configs)
  27. else
  28. io.replace("CMakeLists.txt", [[message(FATAL_ERROR "-- building for unsupport platform")]], "", {plain = true})
  29. table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
  30. table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
  31. import("package.tools.cmake").install(package, configs)
  32. end
  33. end)
  34. on_test(function (package)
  35. assert(package:has_cfuncs("haclog_console_handler_init", {includes = "haclog/haclog.h"}))
  36. end)