xmake.lua 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package("kiwisolver")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://kiwisolver.readthedocs.io/en/latest/")
  4. set_description("Efficient C++ implementation of the Cassowary constraint solving algorithm")
  5. add_urls("https://github.com/nucleic/kiwi/archive/refs/tags/$(version).tar.gz",
  6. "https://github.com/nucleic/kiwi.git")
  7. add_versions("1.4.9", "fcdaebf52b466320f005d02dc2343171d230d4d21612d1676f9854da6da41a34")
  8. add_versions("1.4.8", "e8848589c1548a292e99eadc712f14d8924e77f390b7de0a4a5359ee8e4a480f")
  9. add_versions("1.4.7", "5411b0e25bb1cd18f86b2fa4b17e6e66246b73be047377c6304a2e67aa492c71")
  10. add_versions("1.4.6", "ec022dbab778a3d133513ca8ff86f3fbecadc0ffdcea2f1006e51f87406076f4")
  11. add_versions("1.4.5", "2f3df2625993276a67a3ad312959f9c8333e23dfda0b7e5464b4927d34be6faa")
  12. add_versions("1.4.4", "230a40fb960274ba9d68bd83aecb0d9f880465e9ed85e0c686f2e8651addae99")
  13. add_versions("1.3.2", "36f3ceecd52aa16d5aebf5a6b6f3ba4e471de5bc95e634066393e4ef1f0d6ff1")
  14. add_versions("1.3.1", "91d56ec628be2513a02c3721d4d8173416daf37c49423fe7a41a0e30c1101269")
  15. on_install(function (package)
  16. os.cp("kiwi", package:installdir("include"))
  17. end)
  18. on_test(function (package)
  19. assert(package:check_cxxsnippets({test = [[
  20. void test(int args, char** argv) {
  21. kiwi::Solver solver;
  22. kiwi::Variable x1("x1");
  23. kiwi::Variable x2("x2");
  24. kiwi::Variable xm("xm");
  25. kiwi::Constraint constraints[] = {
  26. x1 >= 0,
  27. x2 <= 100,
  28. x2 >= x1 + 20,
  29. xm == (x1 + x2) / 2
  30. };
  31. for (auto& constraint : constraints)
  32. solver.addConstraint(constraint);
  33. solver.addConstraint(x1 == 40 | kiwi::strength::weak);
  34. solver.addEditVariable(xm, kiwi::strength::strong);
  35. solver.suggestValue(xm, 60);
  36. solver.updateVariables();
  37. }
  38. ]]}, {configs = {languages = "c++11"}, includes = "kiwi/kiwi.h"}))
  39. end)