xmake.lua 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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.2", "fab3da9d3bb03312463dd2336ecf8bdc36093df3984364b4b85c2a7b1296cfaa")
  8. add_versions("v6.1.0", "d4cdf02651d0b7c48150b07dba127951141f8c52a8ae002c1056dc6a018a6d10")
  9. add_versions("v6.0.2", "e4678f2d22ea689b7de66bffb553c9f60d429051f44ca6177e8364eb960c7503")
  10. add_versions("v6.0.1", "8df91f35d2edc78113924de95946680175007e249c3afd401ec4ad9a1e9572d9")
  11. add_versions("v6.0.0", "4a6358fcf81a0011d7342349d60941201f88c1c88f124f583a502e4591030a88")
  12. if is_plat("windows", "mingw") then
  13. add_syslinks("winmm", "ws2_32")
  14. end
  15. on_load("windows", "mingw", function (package)
  16. if package:config("shared") then
  17. package:add("defines", "ENET_DLL")
  18. end
  19. end)
  20. on_install(function (package)
  21. local configs = {}
  22. configs.examples = false
  23. import("package.tools.xmake").install(package, configs)
  24. end)
  25. on_test(function (package)
  26. assert(package:check_cxxsnippets({test = [[
  27. void test()
  28. {
  29. if (enet_initialize () != 0)
  30. return;
  31. ENetAddress address;
  32. ENetHost* server;
  33. enet_address_build_any(&address, ENET_ADDRESS_TYPE_IPV6);
  34. address.port = 1234;
  35. server = enet_host_create (ENET_ADDRESS_TYPE_ANY, &address, 32, 2, 0, 0);
  36. if (server == NULL)
  37. return;
  38. ENetEvent event;
  39. while (enet_host_service (server, &event, 1000) > 0);
  40. enet_host_destroy(server);
  41. enet_deinitialize();
  42. }
  43. ]]}, {includes = {"enet6/enet.h"}}))
  44. end)