xmake.lua 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package("watcher")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/e-dant/watcher")
  4. set_description("Filesystem watcher. Works anywhere. Simple, efficient and friendly.")
  5. set_license("MIT")
  6. set_urls("https://github.com/e-dant/watcher/archive/refs/tags/release/$(version).tar.gz",
  7. "https://github.com/e-dant/watcher.git")
  8. add_versions("0.14.5", "b8cd0169e60cded6c684f8ea34399a548b6df83efa5586f93a42125b0455d6c7")
  9. add_versions("0.14.4", "26863d5fbcf241146def09da50dbcbd6c57b43350b85c9d362d58eb1c69b4293")
  10. add_versions("0.14.3", "ada4dd30bddc78b49f112b0310e4964710c8dcf8a16966c8e958f75bb7abde5e")
  11. add_versions("0.13.8", "ca415bb6e63012bb92543c2a0c76aec347fb36df48d6c1af8538018dd6584e06")
  12. add_versions("0.13.6", "b58b3a9f91d96d90080fd56cd998b1649633c43f92fc1bfe5562a000db472016")
  13. add_versions("0.13.5", "5bb0ea65b94d9444a6853eacff3a9b2121f0415d0ac895388d241f6f8be1e695")
  14. add_versions("0.13.2", "b037b4717a292892d61f619f9a2497ac0a49e8fd73d2c6bf4f9a6bef320718b2")
  15. add_versions("0.12.2", "1423b16734e588bce2a79e0ed205c8c2d651eea891b915862d7270873c72ca54")
  16. add_versions("0.11.0", "dd92496d77b6bc27e27ed28253faae4d81bc58b19407d154bb49504b2af73664")
  17. add_versions("0.9.5", "41b74d138eec106c35a99e7544def599453a8bf4cf4887ad627e1c9e3355287c")
  18. if is_plat("linux", "bsd") then
  19. add_syslinks("pthread")
  20. elseif is_plat("macosx") then
  21. add_frameworks("CoreFoundation", "CoreServices")
  22. end
  23. if on_check then
  24. on_check("android", function (package)
  25. if package:version() and package:version():ge("0.13.5") then
  26. local ndk = package:toolchain("ndk"):config("ndkver")
  27. assert(ndk and tonumber(ndk) > 22, "package(watcher >=0.13.5) require ndk version > 22")
  28. end
  29. end)
  30. end
  31. on_install("!wasm and !iphoneos and !bsd", function (package)
  32. os.cp("include", package:installdir())
  33. end)
  34. on_test(function (package)
  35. assert(package:check_cxxsnippets({test = [[
  36. #include <wtr/watcher.hpp>
  37. void test() {
  38. auto cb = [](wtr::event const& ev) {};
  39. auto watcher = wtr::watch(".", cb);
  40. }
  41. ]]}, {configs = {languages = "c++17"}}))
  42. end)