xmake.lua 949 B

123456789101112131415161718192021222324252627282930313233
  1. add_rules("mode.debug", "mode.release")
  2. -- register scope apis
  3. interp_add_scopeapis("myscope.set_name", "myscope.add_list", {kind = "values"})
  4. interp_add_scopeapis("myscope.on_script", {kind = "script"})
  5. -- use myscope
  6. myscope("hello")
  7. set_name("foo")
  8. add_list("value1", "value2")
  9. on_script(function ()
  10. print("hello")
  11. end)
  12. target("test")
  13. set_kind("binary")
  14. add_files("src/*.cpp")
  15. on_config(function (target)
  16. import("core.project.project")
  17. -- get scope data
  18. local myscope = project.scope("myscope")
  19. for name, scope in pairs(myscope) do
  20. print("myscope(%s)", name)
  21. print(" name: %s", scope:get("name"))
  22. print(" list: %s", table.concat(scope:get("list"), ", "))
  23. print(" script:")
  24. local script = scope:get("script")
  25. if script then
  26. script()
  27. end
  28. end
  29. end)