package("samurai") set_kind("library", {headeronly = true}) set_homepage("https://hpc-math-samurai.readthedocs.io") set_description("Intervals coupled with algebra of set to handle adaptive mesh refinement and operators on it.") set_license("BSD-3-Clause") add_urls("https://github.com/hpc-maths/samurai/archive/refs/tags/$(version).tar.gz", "https://github.com/hpc-maths/samurai.git") add_versions("v0.14.0", "287d0526d58b56a653d6cd68085ad2b8e3cbc69153e4fa87bb256305b3726184") add_versions("v0.12.0", "0cd94bda528085e6261f7e94e69821f81fd55e36560903078beb3c1025372897") add_versions("v0.10.0", "06739ad6ddc6d62396669e8c0a3806a375c88f3a9345519ae1c1415666229c16") add_versions("v0.6.0", "bab96adac8e1553b79678a22de2248bec67c7c205b5fd35e9e1aaccaca41286e") add_deps("xtensor", "highfive", "pugixml", "fmt") on_install("windows|!arm64", "linux", "macosx|!arm64", function (package) os.cp("include", package:installdir()) end) on_test(function (package) assert(package:check_cxxsnippets({test = [[ #include void test() { samurai::CellList<2> cl; } ]]}, {configs = {languages = "c++17"}})) end)