2
0

xmake.lua 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package("cppitertools")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://twitter.com/cppitertools")
  4. set_description("Implementation of python itertools and builtin iteration functions for C++17")
  5. set_license("BSD-2-Clause")
  6. add_urls("https://github.com/ryanhaining/cppitertools.git")
  7. add_versions("2024.10.19", "5a7f4aa357ed9b0ad59823e3d2acd57217d5beaf")
  8. add_versions("2023.07.04", "492c15aab96f4ca3938a6b734d6a08cb7feea75a")
  9. add_configs("boost", {description = "For zip_longest", default = false, type = "boolean"})
  10. on_load(function (package)
  11. if package:config("boost") then
  12. package:add("deps", "boost")
  13. end
  14. end)
  15. on_install(function (package)
  16. if package:version():gt("2023.07.04") then
  17. os.cp("cppitertools", package:installdir("include"))
  18. else
  19. os.cp("*.hpp", package:installdir("include/cppitertools"))
  20. os.cp("internal", package:installdir("include/cppitertools"))
  21. end
  22. end)
  23. on_test(function (package)
  24. assert(package:check_cxxsnippets({test = [[
  25. #include <cppitertools/itertools.hpp>
  26. void test() {
  27. for (auto i : iter::range(10)) {}
  28. }
  29. ]]}, {configs = {languages = "c++17"}}))
  30. end)