xmake.lua 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package("cpp-sort")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/Morwenn/cpp-sort")
  4. set_description("Sorting algorithms & related tools for C++")
  5. set_license("MIT")
  6. add_urls("https://github.com/Morwenn/cpp-sort/archive/refs/tags/$(version).tar.gz", {version = function(version)
  7. if version:ge("2.0.0") then
  8. version = "v" .. version
  9. end
  10. return version
  11. end})
  12. add_urls("https://github.com/Morwenn/cpp-sort.git", {alias = "git"})
  13. add_versions("1.10.0", "48951cac0051d48fee286c3bc02804975f9d83269d80c10dfc5589e76a542765")
  14. add_versions("1.11.0", "a53b3ea240d6f8d8ea9da0a7e0c8e313cf5e714daedf1617473ab34f111ffeec")
  15. add_versions("1.12.0", "70877c1993fa1e5eb53974ac30aeb713448c206344379f193dec8ee887c23998")
  16. add_versions("1.12.1", "5b0b6f3b4d9ecc339d6c2204a18479edca49fbc4d487413e0ec747e143569e2a")
  17. add_versions("1.13.0", "646eca5c592d20cbde0fbff41c65527940bb6430be68e0224fb5fcbf38b0df92")
  18. add_versions("1.13.1", "139912c6004df8748bb1cfd3b94f2c6bfc2713885ed4b8e927a783d6b66963a8")
  19. add_versions("1.13.2", "f5384ed9c8abef2f26cb010df2687ac8bba52f0e1726935826a80e83c1347b23")
  20. add_versions("1.14.0", "3b85cd4580f54ae3f171777d0630b4f7c89c33cf96e9ae24a1dbebbf200c3195")
  21. add_versions("1.15.0", "886e813a4b87c6361e9b50c0a66c73b3b812f0ce0b7039ff3991eddce77e0dc7")
  22. add_versions("1.16.0", "54eb65de5655ce58719d45616f29e4b9060135b9cc8b526bcfc9f5434975ea8c")
  23. add_versions("1.17.0", "df6cbb805ff71e1b0a30fc1ed55696a2d8c70c3ab87447bee2b749e02415432e")
  24. add_versions("1.17.1", "addbcb6699b701f7a932d9b3cb53d8546e8f9e2bf9555962f864dbb43fc08de3")
  25. add_versions("1.17.2", "76708698aa22f605e2d16c5e927b4c3a88cf4b32df31467d2f036025c0178e82")
  26. add_versions("2.1.0", "b86af13cb265cff5c47c6a064a5b537c754d5abdcd663064f62d358df43c789c")
  27. add_versions("git:1.10.0", "1.10.0")
  28. add_versions("git:1.11.0", "1.11.0")
  29. add_versions("git:1.12.0", "1.12.0")
  30. add_versions("git:1.12.1", "1.12.1")
  31. add_versions("git:1.13.0", "1.13.0")
  32. add_versions("git:1.13.1", "1.13.1")
  33. add_versions("git:1.13.2", "1.13.2")
  34. add_versions("git:1.14.0", "1.14.0")
  35. add_versions("git:1.15.0", "1.15.0")
  36. add_versions("git:1.16.0", "1.16.0")
  37. add_versions("git:1.17.0", "1.17.0")
  38. add_versions("git:1.17.1", "1.17.1")
  39. add_versions("git:1.17.2", "1.17.2")
  40. add_versions("git:2.1.0", "v2.1.0")
  41. if is_plat("windows") then
  42. add_cxxflags("/permissive-")
  43. end
  44. on_install(function (package)
  45. os.cp("include", package:installdir())
  46. end)
  47. on_test(function (package)
  48. local languages = package:version():ge("2.0.0") and "c++20" or "c++14"
  49. assert(package:check_cxxsnippets({test = [[
  50. #include <array>
  51. #include <cpp-sort/sorters/smooth_sorter.h>
  52. void test() {
  53. std::array<int, 5> arr = { 5, 8, 3, 2, 9 };
  54. cppsort::smooth_sort(arr);
  55. }
  56. ]]}, {configs = {languages = languages}}))
  57. end)