xmake.lua 1.3 KB

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