xmake.lua 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package("pprint")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/p-ranav/pprint")
  4. set_description("Pretty Printer for Modern C++")
  5. set_license("MIT")
  6. add_urls("https://github.com/p-ranav/pprint.git")
  7. add_versions("2020.2.20", "0ee09c8d8a9eebc944d07ac69e3b86d41f2304df")
  8. add_deps("cmake")
  9. on_install(function (package)
  10. local configs = {}
  11. table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
  12. if package:config("shared") then
  13. table.insert(configs, "-DBUILD_SHARED_LIBS=on")
  14. else
  15. table.insert(configs, "-DBUILD_SHARED_LIBS=off")
  16. end
  17. import("package.tools.cmake").install(package, configs)
  18. end)
  19. on_test(function (package)
  20. assert(package:check_cxxsnippets({
  21. test = [[
  22. #include <pprint/pprint.hpp>
  23. void test() {
  24. pprint::PrettyPrinter printer;
  25. printer.print(5);
  26. printer.print(3.14f);
  27. printer.print(2.718);
  28. printer.print(true);
  29. printer.print('x');
  30. printer.print("Hello, 世界");
  31. printer.print(nullptr);
  32. }
  33. ]]},
  34. {configs = {languages = "c++17"}
  35. }))
  36. end)