xmake.lua 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. package("aitoolkit")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://linkdd.github.io/aitoolkit/")
  4. set_description("Give a brain to your game's NPCs")
  5. set_license("MIT")
  6. add_urls("https://github.com/linkdd/aitoolkit/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/linkdd/aitoolkit.git")
  8. add_versions("v0.3.0", "8cbe1d281235a3486c5840c7f9782f2b3b2ed181d76e8cbe83a2b1395d21ab8a")
  9. on_install(function (package)
  10. os.cp("include", package:installdir())
  11. end)
  12. on_test(function (package)
  13. assert(package:check_cxxsnippets({test = [[
  14. #include <aitoolkit/fsm.hpp>
  15. using namespace aitoolkit::fsm;
  16. struct blackboard_type{};
  17. class state_dummy final : public state<blackboard_type> {
  18. public:
  19. virtual void enter(blackboard_type& blackboard) override {}
  20. };
  21. void test() {
  22. auto simple_bb = blackboard_type{};
  23. auto simple_fsm = simple_machine<blackboard_type>();
  24. simple_fsm.set_state(std::make_shared<state_dummy>(), simple_bb);
  25. }
  26. ]]}, {configs = {languages = "c++20"}}))
  27. end)