summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorruki <[email protected]>2017-03-06 16:02:08 +0800
committerruki <[email protected]>2017-03-06 16:02:08 +0800
commit0d80c120015033b5abae4bd3c0ad4782636c53f7 (patch)
tree9e696d5fd4ffb635123774e97c53fa0ca5cea1db /docs
parentae09c47c992e01e592309e5dad9b79beea5c154d (diff)
write project api docs
Diffstat (limited to 'docs')
-rw-r--r--docs/manual.md84
-rwxr-xr-xdocs/zh/manual.md84
2 files changed, 166 insertions, 2 deletions
diff --git a/docs/manual.md b/docs/manual.md
index 620b2612f..a52749b9f 100644
--- a/docs/manual.md
+++ b/docs/manual.md
@@ -4618,7 +4618,7 @@ target("demo")
end)
```
-我们还可以在运行任务事,增加参数传递,例如:
+我们还可以在运行任务时,增加参数传递,例如:
```lua
task("hello")
@@ -4665,12 +4665,94 @@ emd
| [project.version](#project-version) | 获取当前工程版本号 | >= 2.0.1 |
###### project.load
+
+- 加载工程描述配置
+
+仅在插件中使用,因为这个时候还没有加载工程配置信息,在工程目标的自定义脚本中,不需要执行此操作,就可以直接访问工程配置。
+
+```lua
+-- 导入工程模块
+import("core.project.project")
+
+-- 插件入口
+function main(...)
+
+ -- 加载工程描述配置
+ project.load()
+
+ -- 访问工程描述,例如获取指定工程目标
+ local target = project.target("test")
+end
+```
+
###### project.directory
+
+- 获取工程目录
+
+获取当前工程目录,也就是`xmake -P xxx`中指定的目录,否则为默认当前`xmake`命令执行目录。
+
###### project.target
+
+- 获取指定工程目标对象
+
+获取和访问指定工程目标配置,例如:
+
+```lua
+local target = project.target("test")
+if target then
+
+ -- 获取目标文件名
+ print(target:targetfile())
+
+ -- 获取目标类型,也就是:binary, static, shared
+ print(target:targetkind())
+
+ -- 获取目标名
+ print(target:name())
+
+ -- 获取目标源文件
+ local sourcefiles = target:sourcefiles()
+
+ -- 获取目标安装头文件列表
+ local srcheaders, dstheaders = target:headerfiles()
+
+ -- 获取目标依赖
+ print(target:get("deps"))
+end
+```
+
###### project.targets
+
+- 获取工程目标对象列表
+
+返回当前工程的所有编译目标,例如:
+
+```lua
+for targetname, target in pairs(project.targets())
+ -- ...
+end
+```
+
###### project.name
+
+- 获取当前工程名
+
+也就是获取[set_project](#set_project)的工程名配置。
+
+```lua
+print(project.name())
+```
+
###### project.version
+- 获取当前工程版本号
+
+也就是获取[set_version](#set_version)的工程版本配置。
+
+```lua
+print(project.version())
+```
+
##### core.language.language
用于获取编译语言相关信息。
diff --git a/docs/zh/manual.md b/docs/zh/manual.md
index 6add8a3bd..467117b7e 100755
--- a/docs/zh/manual.md
+++ b/docs/zh/manual.md
@@ -4618,7 +4618,7 @@ target("demo")
end)
```
-我们还可以在运行任务事,增加参数传递,例如:
+我们还可以在运行任务时,增加参数传递,例如:
```lua
task("hello")
@@ -4665,12 +4665,94 @@ emd
| [project.version](#project-version) | 获取当前工程版本号 | >= 2.0.1 |
###### project.load
+
+- 加载工程描述配置
+
+仅在插件中使用,因为这个时候还没有加载工程配置信息,在工程目标的自定义脚本中,不需要执行此操作,就可以直接访问工程配置。
+
+```lua
+-- 导入工程模块
+import("core.project.project")
+
+-- 插件入口
+function main(...)
+
+ -- 加载工程描述配置
+ project.load()
+
+ -- 访问工程描述,例如获取指定工程目标
+ local target = project.target("test")
+end
+```
+
###### project.directory
+
+- 获取工程目录
+
+获取当前工程目录,也就是`xmake -P xxx`中指定的目录,否则为默认当前`xmake`命令执行目录。
+
###### project.target
+
+- 获取指定工程目标对象
+
+获取和访问指定工程目标配置,例如:
+
+```lua
+local target = project.target("test")
+if target then
+
+ -- 获取目标文件名
+ print(target:targetfile())
+
+ -- 获取目标类型,也就是:binary, static, shared
+ print(target:targetkind())
+
+ -- 获取目标名
+ print(target:name())
+
+ -- 获取目标源文件
+ local sourcefiles = target:sourcefiles()
+
+ -- 获取目标安装头文件列表
+ local srcheaders, dstheaders = target:headerfiles()
+
+ -- 获取目标依赖
+ print(target:get("deps"))
+end
+```
+
###### project.targets
+
+- 获取工程目标对象列表
+
+返回当前工程的所有编译目标,例如:
+
+```lua
+for targetname, target in pairs(project.targets())
+ -- ...
+end
+```
+
###### project.name
+
+- 获取当前工程名
+
+也就是获取[set_project](#set_project)的工程名配置。
+
+```lua
+print(project.name())
+```
+
###### project.version
+- 获取当前工程版本号
+
+也就是获取[set_version](#set_version)的工程版本配置。
+
+```lua
+print(project.version())
+```
+
##### core.language.language
用于获取编译语言相关信息。