xmake.lua 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package("daemonpp")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/baderouaich/daemonpp")
  4. set_description("Simple C++ header only template for creating Linux daemons")
  5. set_license("MIT")
  6. add_urls("https://github.com/baderouaich/daemonpp.git")
  7. add_versions("2023.05.01", "0989a8296e1f8b4075db7deb0c3474a5d3780954")
  8. on_install("linux", function (package)
  9. os.cp("include/*", package:installdir("include/daemonpp"))
  10. end)
  11. on_test(function (package)
  12. assert(package:check_cxxsnippets({test = [[
  13. #include <chrono>
  14. #include <daemonpp/daemon.hpp>
  15. using namespace daemonpp;
  16. class my_daemon : public daemon
  17. {
  18. public:
  19. void on_start(const dconfig& cfg) override {
  20. }
  21. void on_update() override {
  22. }
  23. void on_stop() override {
  24. }
  25. void on_reload(const dconfig& cfg) override {
  26. }
  27. };
  28. int test(int argc, const char* argv[]) {
  29. my_daemon dmn;
  30. dmn.set_name("my_daemon");
  31. dmn.set_update_duration(std::chrono::seconds(3));
  32. dmn.set_cwd("/");
  33. dmn.run(argc, argv);
  34. return 0;
  35. }
  36. ]]}, {configs = {languages = "cxx11"}}))
  37. end)