package ( " stringzilla " )
set_kind ( " library " , { headeronly = true } )
set_homepage ( " https://ashvardanian.com/posts/stringzilla/ " )
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 🦖 " )
set_license ( " Apache-2.0 " )
add_urls ( " https://github.com/ashvardanian/StringZilla/archive/refs/tags/$(version).tar.gz " ,
" https://github.com/ashvardanian/StringZilla.git " )
add_versions ( " v1.2.2 " , " 2e17c49965841647a1c371247f53b2f576e5fb32fe4b84a080d425b12f17703c " )
add_versions ( " v2.0.3 " , " 6b52a7b4eb8383cbcf83608eaa08e5ba588a378449439b73584713a16d8920e3 " )
on_install ( function ( package )
os.cp ( " stringzilla/stringzilla.h " , package : installdir ( " include " ) )
end )
on_test ( function ( package )
if package : version ( ) : gt ( " 2.0.0 " ) then
assert ( package : has_cfuncs ( " sz_sort " , { includes = " stringzilla.h " } ) )
else
assert ( package : has_cxxfuncs ( " strzl_sort " , { includes = " stringzilla.h " , configs = { languages = " c++17 " } } ) )
end
end )