xmake.lua 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. package("chaiscript")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("http://chaiscript.com")
  4. set_description("Header-only C++ embedded scripting language loosely based on ECMA script.")
  5. set_license("BSD-3-Clause")
  6. add_urls("https://github.com/ChaiScript/ChaiScript/archive/$(version).tar.gz",
  7. "https://github.com/ChaiScript/ChaiScript.git")
  8. add_versions("v6.1.0", "3ca9ba6434b4f0123b5ab56433e3383b01244d9666c85c06cc116d7c41e8f92a")
  9. if is_plat("windows") then
  10. add_cxflags("/bigobj")
  11. end
  12. on_install("windows", "linux", "android", "macosx", "iphoneos", function (package)
  13. os.cp("include", package:installdir())
  14. end)
  15. on_test(function (package)
  16. assert(package:check_cxxsnippets({test = [[
  17. #include <chaiscript/chaiscript.hpp>
  18. double function(int i, double j) {
  19. return i * j;
  20. }
  21. static void test() {
  22. chaiscript::ChaiScript chai;
  23. chai.add(chaiscript::fun(&function), "function");
  24. double d = chai.eval<double>("function(3, 4.75);");
  25. }
  26. ]]}, {configs = {languages = "c++14"}, includes = "chaiscript/chaiscript.hpp"}))
  27. end)