xmake.lua 1.1 KB

1234567891011121314151617181920212223
  1. package("stringzilla")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://ashvardanian.com/posts/stringzilla/")
  4. set_description("Up to 10x faster string search, split, sort, and shuffle for long strings and multi-gigabyte files in Python and C, leveraging SIMD with just a few lines of Arm Neon and x86 AVX2 & AVX-512 intrinsics 🦖")
  5. set_license("Apache-2.0")
  6. add_urls("https://github.com/ashvardanian/StringZilla/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/ashvardanian/StringZilla.git")
  8. add_versions("v1.2.2", "2e17c49965841647a1c371247f53b2f576e5fb32fe4b84a080d425b12f17703c")
  9. add_versions("v2.0.3", "6b52a7b4eb8383cbcf83608eaa08e5ba588a378449439b73584713a16d8920e3")
  10. on_install(function (package)
  11. os.cp("stringzilla/stringzilla.h", package:installdir("include"))
  12. end)
  13. on_test(function (package)
  14. if package:version():gt("2.0.0") then
  15. assert(package:has_cfuncs("sz_sort", {includes = "stringzilla.h"}))
  16. else
  17. assert(package:has_cxxfuncs("strzl_sort", {includes = "stringzilla.h", configs = {languages = "c++17"}}))
  18. end
  19. end)