xmake.lua 1.3 KB

12345678910111213141516171819202122232425262728
  1. package("xtensor")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/xtensor-stack/xtensor/")
  4. set_description("Multi-dimensional arrays with broadcasting and lazy computing")
  5. set_license("BSD-3-Clause")
  6. add_urls("https://github.com/xtensor-stack/xtensor/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/xtensor-stack/xtensor.git")
  8. add_versions("0.23.10", "2e770a6d636962eedc868fef4930b919e26efe783cd5d8732c11e14cf72d871c")
  9. add_versions("0.24.0", "37738aa0865350b39f048e638735c05d78b5331073b6329693e8b8f0902df713")
  10. add_versions("0.24.1", "dd1bf4c4eba5fbcf386abba2627fcb4a947d14a806c33fde82d0cc1194807ee4")
  11. add_deps("cmake")
  12. add_deps("xtl", "xsimd")
  13. on_install("windows", "macosx", "linux", "mingw@windows", function (package)
  14. import("package.tools.cmake").install(package, {"-DXTENSOR_USE_XSIMD=ON"})
  15. end)
  16. on_test(function (package)
  17. assert(package:check_cxxsnippets({test = [[
  18. void test() {
  19. xt::xarray<double> arr1{{1.0,2.0,3.0},{2.0,5.0,7.0},{2.0,5.0,7.0}};
  20. xt::xarray<double> arr2{5.0,6.0,7.0};
  21. xt::xarray<double> res = xt::view(arr1, 1) + arr2;
  22. }
  23. ]]}, {configs = {languages = "c++14"}, includes = {"xtensor/xarray.hpp", "xtensor/xview.hpp"}}))
  24. end)