xmake.lua 1.2 KB

123456789101112131415161718192021222324252627282930
  1. package("zpp_bits")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/eyalz800/zpp_bits")
  4. set_description("A lightweight C++20 serialization and RPC library")
  5. set_license("MIT")
  6. add_urls("https://github.com/eyalz800/zpp_bits/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/eyalz800/zpp_bits.git")
  8. add_versions("v4.5", "2ed5058b1394cd79b5130916e6beb275efbfb73f1713ed1d08a7d3ba1b36970e")
  9. add_versions("v4.4.25", "d4afb8cf73aec19686928445e912dbbe8d39bffdac43ea69b4781f145195a09e")
  10. if on_check then
  11. on_check("android", function (package)
  12. local ndk = package:toolchain("ndk"):config("ndkver")
  13. assert(ndk and tonumber(ndk) > 22, "package(zpp_bits) require ndk version > 22")
  14. end)
  15. end
  16. on_install(function (package)
  17. os.vcp("zpp_bits.h", package:installdir("include"))
  18. end)
  19. on_test(function (package)
  20. assert(package:check_cxxsnippets({test = [[
  21. void test() {
  22. auto [data, in, out] = zpp::bits::data_in_out();
  23. }
  24. ]]}, {configs = {languages = "c++20"}, includes = "zpp_bits.h"}))
  25. end)