xmake.lua 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package("microsoft-proxy")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/microsoft/proxy")
  4. set_description("Proxy: Easy Polymorphism in C++")
  5. set_license("MIT")
  6. add_urls("https://github.com/microsoft/proxy/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/microsoft/proxy.git")
  8. add_versions("3.1.0", "c86ed7767ed3e90250632f2b5269c83225b0ae986314c58596d421b245f26cd1")
  9. add_versions("3.0.0", "7e073e217e5572bc4c17ed5893273c80ea34c87e1406c853beeb9ca9bdda9733")
  10. add_versions("2.4.0", "7eed973655938d681a90dcc0c200e6cc1330ea8611a9c1a9e1b30439514443cb")
  11. add_versions("2.3.0", "ff6f17c5360895776d29ce2b1235de7b42912468b52729810506431e352a78d0")
  12. add_versions("2.2.1", "096f0b2d793dffc54d41def2bca0ced594b6b8efe35ac5ae27db35802e742b96")
  13. add_versions("1.1.1", "6852b135f0bb6de4dc723f76724794cff4e3d0d5706d09d0b2a4f749f309055d")
  14. if on_check then
  15. on_check("windows", function (package)
  16. if package:version():ge("3.0.0") then
  17. import("core.base.semver")
  18. local vs_toolset = package:toolchain("msvc"):config("vs_toolset")
  19. assert(vs_toolset and semver.new(vs_toolset):minor() >= 30, "package(microsoft-proxy): need vs_toolset >= v143")
  20. end
  21. end)
  22. on_check("android", function (package)
  23. local ndk = package:toolchain("ndk"):config("ndkver")
  24. assert(ndk and tonumber(ndk) > 22, "package(microsoft-proxy) require ndk version > 22")
  25. end)
  26. end
  27. on_install(function (package)
  28. os.cp("proxy.h", package:installdir("include"))
  29. end)
  30. on_test(function (package)
  31. assert(package:has_cxxincludes("proxy.h", {configs = {languages = "c++20"}}))
  32. end)