xmake.lua 1.9 KB

12345678910111213141516171819202122232425262728293031323334
  1. package("rapidfuzz")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://rapidfuzz.github.io/rapidfuzz-cpp")
  4. set_description("Rapid fuzzy string matching in C++ using the Levenshtein Distance")
  5. set_license("MIT")
  6. add_urls("https://github.com/rapidfuzz/rapidfuzz-cpp/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/rapidfuzz/rapidfuzz-cpp.git")
  8. add_versions("v3.3.2", "cf619bb1e7a525472077e76287041d9cd89e97073a24095bcb97f81897b0c1d4")
  9. add_versions("v3.1.1", "5a72811a9f5a890c69cb479551c19517426fb793a10780f136eb482c426ec3c8")
  10. add_versions("v3.0.5", "e32936cc66333a12f659553b5fdd6d0c22257d32ac3b7a806ac9031db8dea5a1")
  11. add_versions("v3.0.4", "18d1c41575ceddd6308587da8befc98c85d3b5bc2179d418daffed6d46b8cb0a")
  12. add_versions("v3.0.2", "4fddce5c0368e78bd604c6b820e6be248d669754715e39b4a8a281bda4c06de1")
  13. add_deps("cmake")
  14. on_install(function (package)
  15. import("package.tools.cmake").install(package)
  16. end)
  17. on_test(function (package)
  18. assert(package:check_cxxsnippets({test = [[
  19. void test() {
  20. using rapidfuzz::fuzz::ratio;
  21. double score1 = rapidfuzz::fuzz::ratio("this is a test", "this is a test!");
  22. double score2 = rapidfuzz::fuzz::partial_ratio("this is a test", "this is a test!");
  23. double score3 = rapidfuzz::fuzz::ratio("fuzzy wuzzy was a bear", "wuzzy fuzzy was a bear");
  24. double score4 = rapidfuzz::fuzz::token_sort_ratio("fuzzy wuzzy was a bear", "wuzzy fuzzy was a bear");
  25. double score5 = rapidfuzz::fuzz::token_sort_ratio("fuzzy was a bear", "fuzzy fuzzy was a bear");
  26. double score6 = rapidfuzz::fuzz::token_set_ratio("fuzzy was a bear", "fuzzy fuzzy was a bear");
  27. }
  28. ]]},{includes = "rapidfuzz/fuzz.hpp", configs = {languages = "c++17"}}))
  29. end)