xmake.lua 1.0 KB

1234567891011121314151617181920212223242526272829
  1. package("xproperty")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/jupyter-xeus/xproperty")
  4. set_description("Traitlets-like C++ properties and implementation of the observer pattern")
  5. set_license("BSD-3-Clause")
  6. add_urls("https://github.com/jupyter-xeus/xproperty.git")
  7. add_versions("2021.04.13", "4e5cc851733ad5f57dd75c33d3beb75aba2569aa")
  8. add_deps("cmake", "xtl")
  9. on_install("windows", "linux", "macosx", function (package)
  10. import("package.tools.cmake").install(package)
  11. end)
  12. on_test(function (package)
  13. assert(package:check_cxxsnippets({test = [[
  14. #include <xproperty/xobserved.hpp>
  15. struct Foo : public xp::xobserved<Foo>
  16. {
  17. XPROPERTY(double, Foo, bar);
  18. XPROPERTY(double, Foo, baz);
  19. };
  20. void test() {
  21. Foo foo;
  22. XOBSERVE(foo, bar, [](Foo& f){});
  23. }
  24. ]]}, {configs = {languages = "c++14"}}))
  25. end)