xmake.lua 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package("robin-map")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/Tessil/robin-map")
  4. set_description("A C++ implementation of a fast hash map and hash set using robin hood hashing")
  5. set_license("MIT")
  6. add_urls("https://github.com/Tessil/robin-map/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/Tessil/robin-map.git")
  8. add_versions("v1.4.0", "7930dbf9634acfc02686d87f615c0f4f33135948130b8922331c16d90a03250c")
  9. add_versions("v1.3.0", "a8424ad3b0affd4c57ed26f0f3d8a29604f0e1f2ef2089f497f614b1c94c7236")
  10. add_versions("v1.2.2", "c72767ecea2a90074c7efbe91620c8f955af666505e22782e82813c652710821")
  11. add_versions("v1.2.1", "2b54d2c1de2f73bea5c51d5dcbd64813a08caf1bfddcfdeee40ab74e9599e8e3")
  12. add_versions("v0.6.3", "e6654c8c2598f63eb0b1d52ff8bdf39cfcc91d81dd5d05274a6dca91241cd72f")
  13. add_deps("cmake")
  14. on_install(function (package)
  15. import("package.tools.cmake").install(package)
  16. end)
  17. on_test(function (package)
  18. local languages
  19. if package:version() and package:version():ge("1.4.0") then
  20. languages = "c++17"
  21. else
  22. languages = "c++11"
  23. end
  24. assert(package:check_cxxsnippets({test = [[
  25. void test() {
  26. tsl::robin_map<int, int> map = {{1, 1}, {2, 1}, {3, 1}};
  27. for (auto it = map.begin(); it != map.end(); ++it) {
  28. it.value() = 2;
  29. }
  30. }
  31. ]]}, {configs = {languages = languages}, includes = "tsl/robin_map.h"}))
  32. end)