summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2017-11-10 23:19:41 +0800
committerruki <[email protected]>2017-11-10 13:58:09 +0800
commit5605084d64edb44917f7e69752335d1fdf979515 (patch)
treec960ed4af33334568c58ff1357bfa21795a24ad0
parent7cc19edf97f221db90a697cf4b794048981ea8bc (diff)
move target and option apis
-rw-r--r--xmake/core/project/option.lua32
-rw-r--r--xmake/core/project/project.lua88
-rw-r--r--xmake/core/project/target.lua62
3 files changed, 106 insertions, 76 deletions
diff --git a/xmake/core/project/option.lua b/xmake/core/project/option.lua
index 0005c0bf0..c46a2fc8f 100644
--- a/xmake/core/project/option.lua
+++ b/xmake/core/project/option.lua
@@ -56,6 +56,38 @@ function option._cache()
return option._CACHE
end
+-- get option apis
+function option.apis()
+
+ return
+ {
+ values =
+ {
+ -- option.set_xxx
+ "option.set_default"
+ , "option.set_showmenu"
+ , "option.set_category"
+ , "option.set_warnings"
+ , "option.set_optimize"
+ , "option.set_languages"
+ , "option.set_description"
+ -- option.add_xxx
+ , "option.add_deps"
+ , "option.add_imports"
+ , "option.add_vectorexts"
+ }
+ , script =
+ {
+ -- option.before_xxx
+ "option.before_check"
+ -- option.on_xxx
+ , "option.on_check"
+ -- option.after_xxx
+ , "option.after_check"
+ }
+ }
+end
+
-- save the option info to the cache
function option:_save()
diff --git a/xmake/core/project/project.lua b/xmake/core/project/project.lua
index 525b5af7e..488aa5c61 100644
--- a/xmake/core/project/project.lua
+++ b/xmake/core/project/project.lua
@@ -197,10 +197,21 @@ function project.interpreter()
-- set root scope
interp:rootscope_set("target")
+ -- define apis for target
+ interp:api_define(target.apis())
+
+ -- define apis for option
+ interp:api_define(option.apis())
+
-- define apis for language
interp:api_define(language.apis())
- -- define apis for target, option
+ -- define registered apis
+ for _, apis in ipairs(project._APIS or {}) do
+ interp:api_define(apis)
+ end
+
+ -- define apis for project
interp:api_define
{
values =
@@ -212,75 +223,6 @@ function project.interpreter()
-- add_xxx
, "add_requires"
, "add_repositories"
- -- target.set_xxx
- , "target.set_kind"
- , "target.set_strip"
- , "target.set_default"
- , "target.set_options"
- , "target.set_symbols"
- , "target.set_basename"
- , "target.set_warnings"
- , "target.set_optimize"
- , "target.set_languages"
- -- target.add_xxx
- , "target.add_deps"
- , "target.add_options"
- , "target.add_imports"
- , "target.add_languages"
- , "target.add_vectorexts"
- -- option.set_xxx
- , "option.set_default"
- , "option.set_showmenu"
- , "option.set_category"
- , "option.set_warnings"
- , "option.set_optimize"
- , "option.set_languages"
- , "option.set_description"
- -- option.add_xxx
- , "option.add_deps"
- , "option.add_imports"
- , "option.add_vectorexts"
- }
- , pathes =
- {
- -- target.set_xxx
- "target.set_targetdir"
- , "target.set_objectdir"
- -- target.add_xxx
- , "target.add_files"
- -- target.del_xxx
- , "target.del_files"
- }
- , script =
- {
- -- target.on_xxx
- "target.on_run"
- , "target.on_load"
- , "target.on_build"
- , "target.on_clean"
- , "target.on_package"
- , "target.on_install"
- , "target.on_uninstall"
- -- target.before_xxx
- , "target.before_run"
- , "target.before_build"
- , "target.before_clean"
- , "target.before_package"
- , "target.before_install"
- , "target.before_uninstall"
- -- target.after_xxx
- , "target.after_run"
- , "target.after_build"
- , "target.after_clean"
- , "target.after_package"
- , "target.after_install"
- , "target.after_uninstall"
- -- option.before_xxx
- , "option.before_check"
- -- option.on_xxx
- , "option.on_check"
- -- option.after_xxx
- , "option.after_check"
}
, custom =
{
@@ -299,12 +241,6 @@ function project.interpreter()
}
}
- -- define registered apis
- for _, apis in ipairs(project._APIS or {}) do
- interp:api_define(apis)
- end
-
- -- TODO
-- register api: add_packages() to target
interp:api_register_builtin("add_packages", interp:_api_within_scope("target", "add_options"))
diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua
index bfdc62b20..ec243300a 100644
--- a/xmake/core/project/target.lua
+++ b/xmake/core/project/target.lua
@@ -41,6 +41,68 @@ local language = require("language/language")
local sandbox = require("sandbox/sandbox")
local sandbox_module = require("sandbox/modules/import/core/sandbox/module")
+-- get target apis
+function target.apis()
+
+ return
+ {
+ values =
+ {
+ -- target.set_xxx
+ "target.set_kind"
+ , "target.set_strip"
+ , "target.set_default"
+ , "target.set_options"
+ , "target.set_symbols"
+ , "target.set_basename"
+ , "target.set_warnings"
+ , "target.set_optimize"
+ , "target.set_languages"
+ -- target.add_xxx
+ , "target.add_deps"
+ , "target.add_options"
+ , "target.add_imports"
+ , "target.add_languages"
+ , "target.add_vectorexts"
+ }
+ , pathes =
+ {
+ -- target.set_xxx
+ "target.set_targetdir"
+ , "target.set_objectdir"
+ -- target.add_xxx
+ , "target.add_files"
+ -- target.del_xxx
+ , "target.del_files"
+ }
+ , script =
+ {
+ -- target.on_xxx
+ "target.on_run"
+ , "target.on_load"
+ , "target.on_build"
+ , "target.on_clean"
+ , "target.on_package"
+ , "target.on_install"
+ , "target.on_uninstall"
+ -- target.before_xxx
+ , "target.before_run"
+ , "target.before_build"
+ , "target.before_clean"
+ , "target.before_package"
+ , "target.before_install"
+ , "target.before_uninstall"
+ -- target.after_xxx
+ , "target.after_run"
+ , "target.after_build"
+ , "target.after_clean"
+ , "target.after_package"
+ , "target.after_install"
+ , "target.after_uninstall"
+ }
+ }
+end
+
-- get the filename from the given target name and kind
function target.filename(targetname, targetkind, targetformat)