xmake.lua 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package("enet6")
  2. set_homepage("https://github.com/SirLynix/enet6")
  3. set_description("A fork of ENet (reliable UDP networking library) in order to add IPv6 support.")
  4. set_license("MIT")
  5. add_urls("https://github.com/SirLynix/enet6/archive/refs/tags/$(version).tar.gz",
  6. "https://github.com/SirLynix/enet6.git")
  7. add_versions("v6.1.0", "d4cdf02651d0b7c48150b07dba127951141f8c52a8ae002c1056dc6a018a6d10")
  8. add_versions("v6.0.2", "e4678f2d22ea689b7de66bffb553c9f60d429051f44ca6177e8364eb960c7503")
  9. add_versions("v6.0.1", "8df91f35d2edc78113924de95946680175007e249c3afd401ec4ad9a1e9572d9")
  10. add_versions("v6.0.0", "4a6358fcf81a0011d7342349d60941201f88c1c88f124f583a502e4591030a88")
  11. if is_plat("windows", "mingw") then
  12. add_syslinks("winmm", "ws2_32")
  13. end
  14. on_load("windows", "mingw", function (package)
  15. if package:config("shared") then
  16. package:add("defines", "ENET_DLL")
  17. end
  18. end)
  19. on_install(function (package)
  20. local configs = {}
  21. configs.examples = false
  22. import("package.tools.xmake").install(package, configs)
  23. end)
  24. on_test(function (package)
  25. assert(package:check_cxxsnippets({test = [[
  26. void test()
  27. {
  28. if (enet_initialize () != 0)
  29. return;
  30. ENetAddress address;
  31. ENetHost* server;
  32. enet_address_build_any(&address, ENET_ADDRESS_TYPE_IPV6);
  33. address.port = 1234;
  34. server = enet_host_create (ENET_ADDRESS_TYPE_ANY, &address, 32, 2, 0, 0);
  35. if (server == NULL)
  36. return;
  37. ENetEvent event;
  38. while (enet_host_service (server, &event, 1000) > 0);
  39. enet_host_destroy(server);
  40. enet_deinitialize();
  41. }
  42. ]]}, {includes = {"enet6/enet.h"}}))
  43. end)