xmake.lua 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package("zmqpb")
  2. set_homepage("https://github.com/SFGrenade/ZmqPb/")
  3. set_description("A helper to use zeromq and protobuf together")
  4. set_license("MPL-2.0")
  5. set_urls("https://github.com/SFGrenade/ZmqPb/archive/refs/tags/v$(version).tar.gz",
  6. "https://github.com/SFGrenade/ZmqPb.git")
  7. add_versions("0.1", "4a34ec92faa381306356e84e2a2000093d8f76cfa037db1f4cd0adb0205faebb")
  8. add_versions("0.2", "5dfa4d4cebb10cb7ae03943e18e8d48c8ff215e80371f24c5ade212be7f20721")
  9. add_versions("0.3", "343c57c9f72facca47082422a259ec8c531f5c6e332a3828835080c4a96b9064")
  10. add_versions("0.4", "7c0001db73b19e65b007adf6c9c5092c3589f043ab3e95a16b3ec2b2a87fa244")
  11. add_versions("0.8", "93433dfe60b09add321d5f6fd467724409929211010963ad63be6c68494446ed")
  12. add_versions("0.9", "c4192777fd7d62b3624a6389efea68a772c4f2820c3d85128961c3dd5ee94a67")
  13. add_deps("cppzmq")
  14. add_deps("protobuf-cpp")
  15. -- protobuf needs it and somehow just doesn't publicizes the linkage
  16. add_deps( "utf8_range" )
  17. on_load("windows", "macosx", "linux", function (package)
  18. if not package:gitref() and package:version():lt("0.3") then
  19. package:add("deps", "fmt")
  20. end
  21. end)
  22. on_install("windows|native", "macosx", "linux", function (package)
  23. local configs = {}
  24. import("package.tools.xmake").install(package, configs)
  25. end)
  26. on_test(function (package)
  27. if package:gitref() or package:version():ge("0.3") then
  28. assert(package:check_cxxsnippets({test = [[
  29. void test() {
  30. ZmqPb::ReqRep network( "tcp://127.0.0.1:13337", false );
  31. network.run();
  32. }
  33. ]]}, {configs = {languages = "c++17"}, includes = "zmqPb/reqRep.hpp"}))
  34. else
  35. assert(package:check_cxxsnippets({test = [[
  36. void test() {
  37. ZmqPb::ReqRep network( "tcp://127.0.0.1", 13337, false );
  38. network.run();
  39. }
  40. ]]}, {configs = {languages = "c++14"}, includes = "zmqPb/reqRep.hpp"}))
  41. end
  42. end)