xmake.lua 1.1 KB

123456789101112131415161718192021222324252627
  1. package("pocketpy")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/blueloveTH/pocketpy")
  4. set_description("C++17 header-only Python interpreter for game engines.")
  5. set_license("MIT")
  6. add_urls("https://github.com/blueloveTH/pocketpy/releases/download/$(version)/pocketpy.h")
  7. add_versions("v0.9.0", "0da63afb3ea4ebb8b686bfe33b4c7556c0a927cd98ccf3c7a3fb4aa216fbf30b")
  8. on_install("windows|x64", "linux", "macosx", "android", function (package)
  9. os.cp("../pocketpy.h", package:installdir("include"))
  10. end)
  11. on_test(function (package)
  12. assert(package:check_cxxsnippets({test = [[
  13. void test() {
  14. VM* vm = pkpy_new_vm(true);
  15. pkpy_vm_exec(vm, "print('Hello world!')");
  16. pkpy_vm_exec(vm, "a = [1, 2, 3]");
  17. char* result = pkpy_vm_eval(vm, "sum(a)");
  18. printf("%s", result);
  19. pkpy_delete(result);
  20. pkpy_delete(vm);
  21. }
  22. ]]}, {configs = {languages = "c++17"}, includes = {"pocketpy.h"}}))
  23. end)