summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2017-02-10 09:05:03 +0800
committerruki <[email protected]>2017-02-10 09:31:51 +0800
commitdec51f4dfa19511efebc5ac78d225b64cb189370 (patch)
treeda2fcef0f049b5b06616792e8eae9409d88ab997
parent3a58fd61a28fd270c08f53f0fd7b9be455e1902f (diff)
modify api anchor for docs
-rwxr-xr-xdocs/zh/manual.md468
1 files changed, 236 insertions, 232 deletions
diff --git a/docs/zh/manual.md b/docs/zh/manual.md
index fb5408c03..e2d180546 100755
--- a/docs/zh/manual.md
+++ b/docs/zh/manual.md
@@ -74,7 +74,7 @@ if is_arch("armv7", "arm64", "armv7s", "armv7-a") then
end
```
-如果像上面那样一个个去判断所有arm架构,也许会很繁琐,毕竟每个平台的架构类型很多,xmake提供了类似add_files中的通配符匹配模式,来更加简洁的进行判断:
+如果像上面那样一个个去判断所有arm架构,也许会很繁琐,毕竟每个平台的架构类型很多,xmake提供了类似[add_files](#targetadd_files)中的通配符匹配模式,来更加简洁的进行判断:
```lua
--如果当前平台是arm平台
@@ -403,73 +403,73 @@ target("test2")
<p class="tip">
`target`域是可以重复进入来实现分离设置的。
-<>
+</p>
-| 接口 | 描述 | 支持版本 |
-| ------------------------------------- | ------------------------------------ | -------- |
-| [target](#target) | 定义工程目标 | >= 1.0.1 |
-| [set_kind](#set_kind) | 设置目标编译类型 | >= 1.0.1 |
-| [set_strip](#set_strip) | 设置是否strip信息 | >= 1.0.1 |
-| [set_options](#set_options) | 设置关联选项 | >= 1.0.1 |
-| [set_symbols](#set_symbols) | 设置符号信息 | >= 1.0.1 |
-| [set_warnings](#set_warnings) | 设置警告级别 | >= 1.0.1 |
-| [set_optimize](#set_optimize) | 设置优化级别 | >= 1.0.1 |
-| [set_languages](#set_languages) | 设置代码语言标准 | >= 1.0.1 |
-| [set_headerdir](#set_headerdir) | 设置头文件安装目录 | >= 1.0.1 |
-| [set_targetdir](#set_targetdir) | 设置生成目标文件目录 | >= 1.0.1 |
-| [set_objectdir](#set_objectdir) | 设置对象文件生成目录 | >= 1.0.1 |
-| [on_build](#on_build) | 自定义编译脚本 | >= 2.0.1 |
-| [on_clean](#on_clean) | 自定义清理脚本 | >= 2.0.1 |
-| [on_package](#on_package) | 自定义打包脚本 | >= 2.0.1 |
-| [on_install](#on_install) | 自定义安装脚本 | >= 2.0.1 |
-| [on_uninstall](#on_uninstall) | 自定义卸载脚本 | >= 2.0.1 |
-| [on_run](#on_run) | 自定义运行脚本 | >= 2.0.1 |
-| [before_build](#before_build) | 在构建之前执行一些自定义脚本 | >= 2.0.1 |
-| [before_clean](#before_clean) | 在清除之前执行一些自定义脚本 | >= 2.0.1 |
-| [before_package](#before_package) | 在打包之前执行一些自定义脚本 | >= 2.0.1 |
-| [before_install](#before_install) | 在安装之前执行一些自定义脚本 | >= 2.0.1 |
-| [before_uninstall](#before_uninstall) | 在卸载之前执行一些自定义脚本 | >= 2.0.1 |
-| [before_run](#before_run) | 在运行之前执行一些自定义脚本 | >= 2.0.1 |
-| [after_build](#after_build) | 在构建之后执行一些自定义脚本 | >= 2.0.1 |
-| [after_clean](#after_clean) | 在清除之后执行一些自定义脚本 | >= 2.0.1 |
-| [after_package](#after_package) | 在打包之后执行一些自定义脚本 | >= 2.0.1 |
-| [after_install](#after_install) | 在安装之后执行一些自定义脚本 | >= 2.0.1 |
-| [after_uninstall](#after_uninstall) | 在卸载之后执行一些自定义脚本 | >= 2.0.1 |
-| [after_run](#after_run) | 在运行之后执行一些自定义脚本 | >= 2.0.1 |
-| [set_config_h](#set_config_h) | 设置自动生成的配置头文件路径 | >= 1.0.1 |
-| [set_config_h_prefix](#set_config_h) | 设置自动生成的头文件中宏定义命名前缀 | >= 1.0.1 |
-| [add_deps](#add_deps) | 添加子工程目标依赖 | >= 1.0.1 |
-| [add_links](#add_links) | 添加链接库名 | >= 1.0.1 |
-| [add_files](#add_files) | 添加源代码文件 | >= 1.0.1 |
-| [add_headers](#add_headers) | 添加安装的头文件 | >= 1.0.1 |
-| [add_linkdirs](#add_linkdirs) | 添加链接库搜索目录 | >= 1.0.1 |
-| [add_includedirs](#add_includedirs) | 添加头文件搜索目录 | >= 1.0.1 |
-| [add_defines](#add_defines) | 添加宏定义 | >= 1.0.1 |
-| [add_undefines](#add_undefines) | 取消宏定义 | >= 1.0.1 |
-| [add_defines_h](#add_defines_h) | 添加宏定义到头文件 | >= 1.0.1 |
-| [add_undefines_h](#add_undefines_h) | 取消宏定义到头文件 | >= 1.0.1 |
-| [add_cflags](#add_cflags) | 添加c编译选项 | >= 1.0.1 |
-| [add_cxflags](#add_cxflags) | 添加c/c++编译选项 | >= 1.0.1 |
-| [add_cxxflags](#add_cxxflags) | 添加c++编译选项 | >= 1.0.1 |
-| [add_mflags](#add_mflags) | 添加objc编译选项 | >= 1.0.1 |
-| [add_mxflags](#add_mxflags) | 添加objc/objc++编译选项 | >= 1.0.1 |
-| [add_mxxflags](#add_mxxflags) | 添加objc++编译选项 | >= 1.0.1 |
-| [add_scflags](#add_scflags) | 添加swift编译选项 | >= 2.0.1 |
-| [add_asflags](#add_asflags) | 添加汇编编译选项 | >= 2.0.1 |
-| [add_goflags](#add_goflags) | 添加go编译选项 | >= 2.1.1 |
-| [add_ldflags](#add_ldflags) | 添加链接选项 | >= 1.0.1 |
-| [add_arflags](#add_arflags) | 添加静态库归档选项 | >= 1.0.1 |
-| [add_shflags](#add_shflags) | 添加动态库链接选项 | >= 1.0.1 |
-| [add_cfunc](#add_cfunc) | 添加单个c库函数检测 | >= 2.0.1 |
-| [add_cxxfunc](#add_cxxfunc) | 添加单个c++库函数检测 | >= 2.0.1 |
-| [add_cfuncs](#add_cfuncs) | 添加c库函数检测 | >= 2.0.1 |
-| [add_cxxfuncs](#add_cxxfuncs) | 添加c++库函数接口 | >= 2.0.1 |
-| [add_packages](#add_packages) | 添加包依赖 | >= 2.0.1 |
-| [add_options](#add_options) | 添加关联选项 | >= 2.0.1 |
-| [add_languages](#add_languages) | 添加语言标准 | >= 1.0.1 |
-| [add_vectorexts](#add_vectorexts) | 添加向量扩展指令 | >= 1.0.1 |
-| [add_frameworks](#add_frameworks) | 添加链接框架 | >= 2.1.1 |
+| 接口 | 描述 | 支持版本 |
+| ------------------------------------------- | ------------------------------------ | -------- |
+| [target](#target) | 定义工程目标 | >= 1.0.1 |
+| [set_kind](#targetset_kind) | 设置目标编译类型 | >= 1.0.1 |
+| [set_strip](#targetset_strip) | 设置是否strip信息 | >= 1.0.1 |
+| [set_options](#targetset_options) | 设置关联选项 | >= 1.0.1 |
+| [set_symbols](#targetset_symbols) | 设置符号信息 | >= 1.0.1 |
+| [set_warnings](#targetset_warnings) | 设置警告级别 | >= 1.0.1 |
+| [set_optimize](#targetset_optimize) | 设置优化级别 | >= 1.0.1 |
+| [set_languages](#targetset_languages) | 设置代码语言标准 | >= 1.0.1 |
+| [set_headerdir](#targetset_headerdir) | 设置头文件安装目录 | >= 1.0.1 |
+| [set_targetdir](#targetset_targetdir) | 设置生成目标文件目录 | >= 1.0.1 |
+| [set_objectdir](#targetset_objectdir) | 设置对象文件生成目录 | >= 1.0.1 |
+| [on_build](#targeton_build) | 自定义编译脚本 | >= 2.0.1 |
+| [on_clean](#targeton_clean) | 自定义清理脚本 | >= 2.0.1 |
+| [on_package](#targeton_package) | 自定义打包脚本 | >= 2.0.1 |
+| [on_install](#targeton_install) | 自定义安装脚本 | >= 2.0.1 |
+| [on_uninstall](#targeton_uninstall) | 自定义卸载脚本 | >= 2.0.1 |
+| [on_run](#targeton_run) | 自定义运行脚本 | >= 2.0.1 |
+| [before_build](#targetbefore_build) | 在构建之前执行一些自定义脚本 | >= 2.0.1 |
+| [before_clean](#targetbefore_clean) | 在清除之前执行一些自定义脚本 | >= 2.0.1 |
+| [before_package](#targetbefore_package) | 在打包之前执行一些自定义脚本 | >= 2.0.1 |
+| [before_install](#targetbefore_install) | 在安装之前执行一些自定义脚本 | >= 2.0.1 |
+| [before_uninstall](#targetbefore_uninstall) | 在卸载之前执行一些自定义脚本 | >= 2.0.1 |
+| [before_run](#targetbefore_run) | 在运行之前执行一些自定义脚本 | >= 2.0.1 |
+| [after_build](#targetafter_build) | 在构建之后执行一些自定义脚本 | >= 2.0.1 |
+| [after_clean](#targetafter_clean) | 在清除之后执行一些自定义脚本 | >= 2.0.1 |
+| [after_package](#targetafter_package) | 在打包之后执行一些自定义脚本 | >= 2.0.1 |
+| [after_install](#targetafter_install) | 在安装之后执行一些自定义脚本 | >= 2.0.1 |
+| [after_uninstall](#targetafter_uninstall) | 在卸载之后执行一些自定义脚本 | >= 2.0.1 |
+| [after_run](#targetafter_run) | 在运行之后执行一些自定义脚本 | >= 2.0.1 |
+| [set_config_h](#targetset_config_h) | 设置自动生成的配置头文件路径 | >= 1.0.1 |
+| [set_config_h_prefix](#targetset_config_h) | 设置自动生成的头文件中宏定义命名前缀 | >= 1.0.1 |
+| [add_deps](#targetadd_deps) | 添加子工程目标依赖 | >= 1.0.1 |
+| [add_links](#targetadd_links) | 添加链接库名 | >= 1.0.1 |
+| [add_files](#targetadd_files) | 添加源代码文件 | >= 1.0.1 |
+| [add_headers](#targetadd_headers) | 添加安装的头文件 | >= 1.0.1 |
+| [add_linkdirs](#targetadd_linkdirs) | 添加链接库搜索目录 | >= 1.0.1 |
+| [add_includedirs](#targetadd_includedirs) | 添加头文件搜索目录 | >= 1.0.1 |
+| [add_defines](#targetadd_defines) | 添加宏定义 | >= 1.0.1 |
+| [add_undefines](#targetadd_undefines) | 取消宏定义 | >= 1.0.1 |
+| [add_defines_h](#targetadd_defines_h) | 添加宏定义到头文件 | >= 1.0.1 |
+| [add_undefines_h](#targetadd_undefines_h) | 取消宏定义到头文件 | >= 1.0.1 |
+| [add_cflags](#targetadd_cflags) | 添加c编译选项 | >= 1.0.1 |
+| [add_cxflags](#targetadd_cxflags) | 添加c/c++编译选项 | >= 1.0.1 |
+| [add_cxxflags](#targetadd_cxxflags) | 添加c++编译选项 | >= 1.0.1 |
+| [add_mflags](#targetadd_mflags) | 添加objc编译选项 | >= 1.0.1 |
+| [add_mxflags](#targetadd_mxflags) | 添加objc/objc++编译选项 | >= 1.0.1 |
+| [add_mxxflags](#targetadd_mxxflags) | 添加objc++编译选项 | >= 1.0.1 |
+| [add_scflags](#targetadd_scflags) | 添加swift编译选项 | >= 2.0.1 |
+| [add_asflags](#targetadd_asflags) | 添加汇编编译选项 | >= 2.0.1 |
+| [add_goflags](#targetadd_goflags) | 添加go编译选项 | >= 2.1.1 |
+| [add_ldflags](#targetadd_ldflags) | 添加链接选项 | >= 1.0.1 |
+| [add_arflags](#targetadd_arflags) | 添加静态库归档选项 | >= 1.0.1 |
+| [add_shflags](#targetadd_shflags) | 添加动态库链接选项 | >= 1.0.1 |
+| [add_cfunc](#targetadd_cfunc) | 添加单个c库函数检测 | >= 2.0.1 |
+| [add_cxxfunc](#targetadd_cxxfunc) | 添加单个c++库函数检测 | >= 2.0.1 |
+| [add_cfuncs](#targetadd_cfuncs) | 添加c库函数检测 | >= 2.0.1 |
+| [add_cxxfuncs](#targetadd_cxxfuncs) | 添加c++库函数接口 | >= 2.0.1 |
+| [add_packages](#targetadd_packages) | 添加包依赖 | >= 2.0.1 |
+| [add_options](#targetadd_options) | 添加关联选项 | >= 2.0.1 |
+| [add_languages](#targetadd_languages) | 添加语言标准 | >= 1.0.1 |
+| [add_vectorexts](#targetadd_vectorexts) | 添加向量扩展指令 | >= 1.0.1 |
+| [add_frameworks](#targetadd_frameworks) | 添加链接框架 | >= 2.1.1 |
##### target
@@ -517,7 +517,7 @@ target("test")
add_files("src/test.c")
```
-##### set_kind
+##### target:set_kind
###### 设置目标编译类型
@@ -534,7 +534,7 @@ target("demo")
set_kind("binary")
```
-##### set_strip
+##### target:set_strip
###### 设置是否strip信息
@@ -556,7 +556,7 @@ target("xxxx")
这个api不一定非得在target之后使用,如果没有target指定,那么将会设置到全局模式。。
</p>
-##### set_options
+##### target:set_options
###### 设置关联选项
@@ -578,7 +578,7 @@ target("test")
只有调用`set_options`进行关联生效后,[option](#option) 中定义的一些设置才会影响到此`target`目标,例如:宏定义、链接库、编译选项等等
</p>
-##### set_symbols
+##### target:set_symbols
###### 设置符号信息
@@ -600,7 +600,7 @@ set_symbols("debug", "hidden")
如果没有调用这个api,默认是禁用调试符号的。。
-##### set_warnings
+##### target:set_warnings
###### 设置警告级别
@@ -623,7 +623,7 @@ set_warnings("all", "error")
如果当前没有目标,调用这个api将会设置到全局模式。。
-##### set_optimize
+##### target:set_optimize
###### 设置优化级别
@@ -647,7 +647,7 @@ set_warnings("all", "error")
set_optimize("fastest")
```
-##### set_languages
+##### target:set_languages
###### 设置代码语言标准
@@ -685,7 +685,7 @@ windows下vs的编译器并不支持按c99的标准来编译c代码,只能支�
用户不需要去额外做任何修改。。
</p>
-##### set_headerdir
+##### target:set_headerdir
###### 设置头文件安装目录
@@ -696,9 +696,9 @@ target("test")
set_headerdir("$(buildir)/include")
```
-对于需要安装哪些头文件,可参考[add_headers](#add_headers)接口。
+对于需要安装哪些头文件,可参考[add_headers](#targetadd_headers)接口。
-##### set_targetdir
+##### target:set_targetdir
###### 设置生成目标文件目录
@@ -723,7 +723,7 @@ target("test")
如果显示设置了`set_targetdir`, 那么优先选择`set_targetdir`指定的目录为目标文件的输出目录。
</p>
-##### set_objectdir
+##### target:set_objectdir
###### 设置对象文件生成目录
@@ -734,7 +734,7 @@ target("test")
set_objectdir("$(buildir)/.objs")
```
-##### on_build
+##### target:on_build
###### 自定义编译脚本
@@ -755,7 +755,7 @@ target("test")
一旦对这个target目标设置了自己的build过程,那么xmake默认的构建过程将不再被执行。
</p>
-##### on_clean
+##### target:on_clean
###### 自定义清理脚本
@@ -782,7 +782,7 @@ target("test")
| target:get("defines") | 获取目标的宏定义 |
| target:get("xxx") | 其他通过 `set_/add_`接口设置的target信息,都可以通过此接口来获取 |
-##### on_package
+##### target:on_package
###### 自定义打包脚本
@@ -816,7 +816,7 @@ target("demo")
end)
```
-##### on_install
+##### target:on_install
###### 自定义安装脚本
@@ -835,7 +835,7 @@ target("test")
end)
```
-##### on_uninstall
+##### target:on_uninstall
###### 自定义卸载脚本
@@ -848,7 +848,7 @@ target("test")
end)
```
-##### on_run
+##### target:on_run
###### 自定义运行脚本
@@ -867,7 +867,7 @@ target("test")
end)
```
-##### before_build
+##### target:before_build
###### 在构建之前执行一些自定义脚本
@@ -880,7 +880,7 @@ target("test")
end
```
-##### before_clean
+##### target:before_clean
###### 在清理之前执行一些自定义脚本
@@ -893,7 +893,7 @@ target("test")
end
```
-##### before_package
+##### target:before_package
###### 在打包之前执行一些自定义脚本
@@ -906,7 +906,7 @@ target("test")
end
```
-##### before_install
+##### target:before_install
###### 在安装之前执行一些自定义脚本
@@ -919,7 +919,7 @@ target("test")
end
```
-##### before_uninstall
+##### target:before_uninstall
###### 在卸载之前执行一些自定义脚本
@@ -932,7 +932,7 @@ target("test")
end
```
-##### before_run
+##### target:before_run
###### 在运行之前执行一些自定义脚本
@@ -945,7 +945,7 @@ target("test")
end
```
-##### after_build
+##### target:after_build
###### 在构建之后执行一些自定义脚本
@@ -960,7 +960,7 @@ target("test")
end
```
-##### after_clean
+##### target:after_clean
###### 在清理之后执行一些自定义脚本
@@ -975,7 +975,7 @@ target("test")
end
```
-##### after_package
+##### target:after_package
###### 在打包之后执行一些自定义脚本
@@ -988,7 +988,7 @@ target("test")
end
```
-##### after_install
+##### target:after_install
###### 在安装之后执行一些自定义脚本
@@ -1000,7 +1000,7 @@ target("test")
print("")
end
```
-##### after_uninstall
+##### target:after_uninstall
###### 在卸载之后执行一些自定义脚本
@@ -1013,7 +1013,7 @@ target("test")
end
```
-##### after_run
+##### target:after_run
###### 在运行之后执行一些自定义脚本
@@ -1026,7 +1026,7 @@ target("test")
end
```
-##### set_config_h
+##### target:set_config_h
###### 设置自动生成的配置头文件路径
@@ -1046,10 +1046,10 @@ target("test")
当这个target中通过下面的这些接口,对这个target添加了相关的选项依赖、包依赖、接口依赖后,如果某依赖被启用,那么对应的一些宏定义配置,会自动写入被设置的`config.h`文件中去。
-* [add_options](#add_options)
-* [add_packages](#add_packages)
-* [add_cfuncs](#add_cfuncs)
-* [add_cxxfuncs](#add_cxxfuncs)
+* [add_options](#targetadd_options)
+* [add_packages](#targetadd_packages)
+* [add_cfuncs](#targetadd_cfuncs)
+* [add_cxxfuncs](#targetadd_cxxfuncs)
这些接口,其实底层都用到了[option](#option)选项中的一些检测设置,例如:
@@ -1072,11 +1072,11 @@ target("test")
add_options("wchar")
```
-##### set_config_h_prefix
+##### target:set_config_h_prefix
###### 设置自动生成的头文件中宏定义命名前缀
-具体使用见:[set_config_h](#set_config_h)
+具体使用见:[set_config_h](#targetset_config_h)
如果设置了:
@@ -1087,7 +1087,7 @@ target("test")
那么,选项中`add_defines_h_if_ok("$(prefix)_TYPE_HAVE_WCHAR")`的$(prefix)会自动被替换成新的前缀值。
-##### add_deps
+##### target:add_deps
###### 添加子工程目标依赖
@@ -1113,11 +1113,11 @@ target("demo")
上面的例子,在编译目标demo的时候,需要先编译test1, test2目标,因为demo会去用到他们
-##### add_links
+##### target:add_links
###### 添加链接库名
-为当前目标添加链接库,一般这个要与[add_linkdirs](#add_linkdirs)配对使用。
+为当前目标添加链接库,一般这个要与[add_linkdirs](#targetadd_linkdirs)配对使用。
```lua
target("demo")
@@ -1129,7 +1129,7 @@ target("demo")
add_linkdirs("$(buildir)/lib")
```
-##### add_files
+##### target:add_files
###### 添加源代码文件
@@ -1178,20 +1178,20 @@ add_files("src/*.cpp|test.cpp|hello.cpp|xx_*.cpp")
所以上面的例子后面过滤的都是在src下的文件,这个是要注意的。
</p>
-##### add_headers
+##### target:add_headers
###### 添加安装的头文件
-安装指定的头文件到build目录,如果设置了[set_headerdir](#set_headerdir), 则输出到指定目录。
+安装指定的头文件到build目录,如果设置了[set_headerdir](#targetset_headerdir), 则输出到指定目录。
-安装规则的语法跟[add_files](#add_files)类似,例如:
+安装规则的语法跟[add_files](#targetadd_files)类似,例如:
```lua
-- 安装tbox目录下所有的头文件(忽略impl目录下的文件),并且按()指定部分作为相对路径,进行安装
add_headers("../(tbox/**.h)|**/impl/**.h")
```
-##### add_linkdirs
+##### target:add_linkdirs
###### 添加链接库搜索目录
@@ -1202,13 +1202,13 @@ target("test")
add_linkdirs("$(buildir)/lib")
```
-一般他是与[add_links](#add_links)配合使用的,当然也可以直接通过[add_ldflags](#add_ldflags)或者[add_shflags](#add_shflags)接口来添加,也是可以的。
+一般他是与[add_links](#targetadd_links)配合使用的,当然也可以直接通过[add_ldflags](#targetadd_ldflags)或者[add_shflags](#targetadd_shflags)接口来添加,也是可以的。
<p class="tip">
如果不想在工程中写死,可以通过:`xmake f --linkdirs=xxx`或者`xmake f --ldflags="-L/xxx"`的方式来设置,当然这种手动设置的目录搜索优先级更高。
</p>
-##### add_includedirs
+##### target:add_includedirs
###### 添加头文件搜索目录
@@ -1219,13 +1219,13 @@ target("test")
add_includedirs("$(buildir)/include")
```
-当然也可以直接通过[add_cxflags](#add_cxflags)或者[add_mxflags](#add_mxflags)等接口来设置,也是可以的。
+当然也可以直接通过[add_cxflags](#targetadd_cxflags)或者[add_mxflags](#targetadd_mxflags)等接口来设置,也是可以的。
<p class="tip">
如果不想在工程中写死,可以通过:`xmake f --includedirs=xxx`或者`xmake f --cxflags="-I/xxx"`的方式来设置,当然这种手动设置的目录搜索优先级更高。
</p>
-##### add_defines
+##### target:add_defines
###### 添加宏定义
@@ -1239,7 +1239,7 @@ add_defines("DEBUG", "TEST=0", "TEST2=\"hello\"")
-DDEBUG -DTEST=0 -DTEST2=\"hello\"
```
-##### add_undefines
+##### target:add_undefines
###### 取消宏定义
@@ -1251,19 +1251,19 @@ add_undefines("DEBUG")
在代码中相当于:`#undef DEBUG`
-##### add_defines_h
+##### target:add_defines_h
###### 添加宏定义到头文件
-添加宏定义到`config.h`配置文件,`config.h`的设置,可参考[set_config_h](#set_config_h)接口。
+添加宏定义到`config.h`配置文件,`config.h`的设置,可参考[set_config_h](#targetset_config_h)接口。
##### add_undefines_h
###### 取消宏定义到头文件
-在`config.h`配置文件中通过`undef`禁用宏定义,`config.h`的设置,可参考[set_config_h](#set_config_h)接口。
+在`config.h`配置文件中通过`undef`禁用宏定义,`config.h`的设置,可参考[set_config_h](#targetset_config_h)接口。
-##### add_cflags
+##### target:add_cflags
###### 添加c编译选项
@@ -1278,19 +1278,19 @@ add_cflags("-g", "-O2", "-DDEBUG")
用户无需操心其兼容性,如果其他编译器没有对应的匹配值,那么xmake会自动忽略器设置。
</p>
-##### add_cxflags
+##### target:add_cxflags
###### 添加c/c++编译选项
同时对c/c++代码添加编译选项
-##### add_cxxflags
+##### target:add_cxxflags
###### 添加c++编译选项
仅对c++代码添加编译选项
-##### add_mflags
+##### target:add_mflags
###### 添加objcc编译选项
@@ -1300,7 +1300,7 @@ add_cflags("-g", "-O2", "-DDEBUG")
add_mflags("-g", "-O2", "-DDEBUG")
```
-##### add_mxflags
+##### target:add_mxflags
###### 添加objc/objc++编译选项
@@ -1310,7 +1310,7 @@ add_mflags("-g", "-O2", "-DDEBUG")
add_mxflags("-framework CoreFoundation")
```
-##### add_mxxflags
+##### target:add_mxxflags
###### 添加objc++编译选项
@@ -1320,7 +1320,7 @@ add_mxflags("-framework CoreFoundation")
add_mxxflags("-framework CoreFoundation")
```
-##### add_scflags
+##### target:add_scflags
###### 添加swift编译选项
@@ -1330,7 +1330,7 @@ add_mxxflags("-framework CoreFoundation")
add_scflags("xxx")
```
-##### add_asflags
+##### target:add_asflags
###### 添加汇编编译选项
@@ -1340,7 +1340,7 @@ add_scflags("xxx")
add_asflags("xxx")
```
-##### add_goflags
+##### target:add_goflags
###### 添加go编译选项
@@ -1350,7 +1350,7 @@ add_asflags("xxx")
add_goflags("xxx")
```
-##### add_ldflags
+##### target:add_ldflags
###### 添加链接选项
@@ -1360,7 +1360,7 @@ add_goflags("xxx")
add_ldflags("-L/xxx", "-lxxx")
```
-##### add_arflags
+##### target:add_arflags
###### 添加静态库归档选项
@@ -1369,7 +1369,7 @@ add_ldflags("-L/xxx", "-lxxx")
```lua
add_arflags("xxx")
```
-##### add_shflags
+##### target:add_shflags
###### 添加动态库链接选项
@@ -1379,11 +1379,11 @@ add_arflags("xxx")
add_shflags("xxx")
```
-##### add_cfunc
+##### target:add_cfunc
###### 添加单个c库函数检测
-与[add_cfuncs](#add_cfuncs)类似,只是仅对单个函数接口进行设置,并且仅对`target`域生效,`option`中不存在此接口。
+与[add_cfuncs](#targetadd_cfuncs)类似,只是仅对单个函数接口进行设置,并且仅对`target`域生效,`option`中不存在此接口。
此接口的目的主要是为了在`config.h`中更加高度定制化的生成宏开关,例如:
@@ -1418,13 +1418,13 @@ target("demo")
#endif
```
-##### add_cxxfunc
+##### target:add_cxxfunc
###### 添加单个c++库函数检测
-与[add_cfunc](#add_cfunc)类似,只是检测的函数接口是c++函数。
+与[add_cfunc](#targetadd_cfunc)类似,只是检测的函数接口是c++函数。
-##### add_cfuncs
+##### target:add_cfuncs
###### 添加c库函数检测
@@ -1432,12 +1432,12 @@ target("demo")
此接口是`target`和`option`共用的接口,但是接口行为稍有不同。
</p>
-| 接口域 | 描述 | 例子 |
-| ------ | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
-| target | 头文件、链接库和函数接口同时指定 | `add_cfuncs("libc", nil, {"signal.h", "setjmp.h"}, "signal", "setjmp", "sigsetjmp{sigjmp_buf buf; sigsetjmp(buf, 0);}", "kill")` |
-| option | 仅指定函数接口,头文件依赖[add_cincludes](#add_cincludes)等独立接口 | `add_cincludes("setjmp.h")` `add_cfuncs("sigsetjmp")` |
+| 接口域 | 描述 | 例子 |
+| ------ | ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
+| target | 头文件、链接库和函数接口同时指定 | `add_cfuncs("libc", nil, {"signal.h", "setjmp.h"}, "signal", "setjmp", "sigsetjmp{sigjmp_buf buf; sigsetjmp(buf, 0);}", "kill")` |
+| option | 仅指定函数接口,头文件依赖[add_cincludes](#targetadd_cincludes)等独立接口 | `add_cincludes("setjmp.h")` `add_cfuncs("sigsetjmp")` |
-对于`option`,这个接口的使用很简单,跟[add_cincludes](#add_cincludes)类似,例如:
+对于`option`,这个接口的使用很简单,跟[add_cincludes](#targetadd_cincludes)类似,例如:
```lua
option("setjmp")
@@ -1453,9 +1453,9 @@ target("test")
此选项检测是否存在`setjmp`的一些接口,如果检测通过那么`test`目标程序将会加上`HAVE_SETJMP`的宏定义。
<p class="warning">
-需要注意的是,在`option`中使用此接口检测依赖函数,需要同时使用独立的[add_cincludes](#add_cincludes)增加头文件搜索路径,指定[add_links](#add_links)链接库(可选),否则检测不到指定函数。
+需要注意的是,在`option`中使用此接口检测依赖函数,需要同时使用独立的[add_cincludes](#targetadd_cincludes)增加头文件搜索路径,指定[add_links](#targetadd_links)链接库(可选),否则检测不到指定函数。
<br><br>
-并且某些头文件接口是通过宏开关分别定义的,那么检测的时候最好通过[add_defines](#add_defines)带上依赖的宏开关。
+并且某些头文件接口是通过宏开关分别定义的,那么检测的时候最好通过[add_defines](#targetadd_defines)带上依赖的宏开关。
</p>
对于`target`,此接口可以同时设置:依赖的头文件、依赖的链接模块、依赖的函数接口,保证检测环境的完整性,例如:
@@ -1479,7 +1479,7 @@ target("test")
"pthread_key_delete")
```
-设置`test`目标,依赖这些接口,构建时会预先检测他们,并且如果通过[set_config_h](#set_config_h)接口设置的自动生成头文件:`config.h`
+设置`test`目标,依赖这些接口,构建时会预先检测他们,并且如果通过[set_config_h](#targetset_config_h)接口设置的自动生成头文件:`config.h`
那么,检测结果会自动加到对应的`config.h`上去,这也是`option`没有的功能,例如:
@@ -1508,19 +1508,19 @@ target("test")
| 函数块调用 | sigsetjmp{sigsetjmp((void*)0, 0);} |
| 函数块 + 变量 | sigsetjmp{int a = 0; sigsetjmp((void*)a, a);} |
-##### add_cxxfuncs
+##### target:add_cxxfuncs
###### 添加c++库函数检测
-与[add_cfuncs](#add_cfuncs)类似,只是检测的函数接口是c++函数。
+与[add_cfuncs](#targetadd_cfuncs)类似,只是检测的函数接口是c++函数。
-##### add_options
+##### target:add_options
###### 添加关联选项
-这个接口跟[set_options](#set_options)类似,唯一的区别就是,此处是追加选项,而[set_options](#set_options)每次设置会覆盖先前的设置。
+这个接口跟[set_options](#targetset_options)类似,唯一的区别就是,此处是追加选项,而[set_options](#targetset_options)每次设置会覆盖先前的设置。
-##### add_packages
+##### target:add_packages
###### 添加包依赖
@@ -1533,17 +1533,17 @@ target("test")
这样,在编译test目标时,如果这个包存在的,将会自动追加包里面的宏定义、头文件搜索路径、链接库目录,也会自动链接包中所有库。
-用户不再需要自己单独调用[add_links](#add_links),[add_includedirs](#add_includedirs), [add_ldflags](#add_ldflags)等接口,来配置依赖库链接了。
+用户不再需要自己单独调用[add_links](#targetadd_links),[add_includedirs](#targetadd_includedirs), [add_ldflags](#targetadd_ldflags)等接口,来配置依赖库链接了。
-对于如何设置包搜索目录,可参考:[add_packagedirs](#add_packagedirs) 接口
+对于如何设置包搜索目录,可参考:[add_packagedirs](#targetadd_packagedirs) 接口
-##### add_languages
+##### target:add_languages
###### 添加语言标准
-与[set_languages](#set_languages)类似,唯一区别是这个接口不会覆盖掉之前的设置,而是追加设置。
+与[set_languages](#targetset_languages)类似,唯一区别是这个接口不会覆盖掉之前的设置,而是追加设置。
-##### add_vectorexts
+##### target:add_vectorexts
###### 添加向量扩展指令
@@ -1560,7 +1560,7 @@ add_vectorexts("sse", "sse2", "sse3", "ssse3")
如果当前设置的指令集编译器不支持,xmake会自动忽略掉,所以不需要用户手动去判断维护,只需要将你需要的指令集全部设置上就行了。
</p>
-##### add_frameworks
+##### target:add_frameworks
###### 添加链接框架
@@ -1571,7 +1571,7 @@ target("test")
add_frameworks("Foundation", "CoreFoundation")
```
-当然也可以使用[add_mxflags](#add_mxflags)和[add_ldflags](#add_ldflags)来设置,不过比较繁琐,不建议这样设置。
+当然也可以使用[add_mxflags](#targetadd_mxflags)和[add_ldflags](#targetadd_ldflags)来设置,不过比较繁琐,不建议这样设置。
```lua
target("test")
@@ -1609,57 +1609,57 @@ option("test2")
</p>
-| 接口 | 描述 | 支持版本 |
-| ----------------------------------------------- | -------------------------------------------- | -------- |
-| [option](#option) | 定义选项 | >= 2.0.1 |
-| [set_default](#set_default) | 设置默认值 | >= 2.0.1 |
-| [set_showmenu](#set_showmenu) | 设置是否启用菜单显示 | >= 1.0.1 |
-| [set_category](#set_category) | 设置选项分类,仅用于菜单显示 | >= 1.0.1 |
-| [set_description](#set_description) | 设置菜单显示描述 | >= 1.0.1 |
-| [add_bindings](#add_bindings) | 添加正向关联选项,同步启用和禁用 | >= 2.0.1 |
-| [add_rbindings](#add_rbindings) | 添加逆向关联选项,同步启用和禁用 | >= 2.0.1 |
-| [add_cincludes](#add_cincludes) | 添加c头文件检测 | >= 1.0.1 |
-| [add_cxxincludes](#add_cxxincludes) | 添加c++头文件检测 | >= 1.0.1 |
-| [add_ctypes](#add_ctypes) | 添加c类型检测 | >= 1.0.1 |
-| [add_cxxtypes](#add_cxxtypes) | 添加c++类型检测 | >= 1.0.1 |
-| [add_defines_if_ok](#add_defines_if_ok) | 如果检测选项通过,则添加宏定义 | >= 1.0.1 |
-| [add_defines_h_if_ok](#add_defines_h_if_ok) | 如果检测选项通过,则添加宏定义到配置头文件 | >= 1.0.1 |
-| [add_undefines_if_ok](#add_undefines_if_ok) | 如果检测选项通过,则取消宏定义 | >= 1.0.1 |
-| [add_undefines_h_if_ok](#add_undefines_h_if_ok) | 如果检测选项通过,则在配置头文件中取消宏定义 | >= 1.0.1 |
+| 接口 | 描述 | 支持版本 |
+| ----------------------------------------------------- | -------------------------------------------- | -------- |
+| [option](#option) | 定义选项 | >= 2.0.1 |
+| [set_default](#optionset_default) | 设置默认值 | >= 2.0.1 |
+| [set_showmenu](#optionset_showmenu) | 设置是否启用菜单显示 | >= 1.0.1 |
+| [set_category](#optionset_category) | 设置选项分类,仅用于菜单显示 | >= 1.0.1 |
+| [set_description](#optionset_description) | 设置菜单显示描述 | >= 1.0.1 |
+| [add_bindings](#optionadd_bindings) | 添加正向关联选项,同步启用和禁用 | >= 2.0.1 |
+| [add_rbindings](#optionadd_rbindings) | 添加逆向关联选项,同步启用和禁用 | >= 2.0.1 |
+| [add_cincludes](#optionadd_cincludes) | 添加c头文件检测 | >= 1.0.1 |
+| [add_cxxincludes](#optionadd_cxxincludes) | 添加c++头文件检测 | >= 1.0.1 |
+| [add_ctypes](#optionadd_ctypes) | 添加c类型检测 | >= 1.0.1 |
+| [add_cxxtypes](#optionadd_cxxtypes) | 添加c++类型检测 | >= 1.0.1 |
+| [add_defines_if_ok](#optionadd_defines_if_ok) | 如果检测选项通过,则添加宏定义 | >= 1.0.1 |
+| [add_defines_h_if_ok](#optionadd_defines_h_if_ok) | 如果检测选项通过,则添加宏定义到配置头文件 | >= 1.0.1 |
+| [add_undefines_if_ok](#optionadd_undefines_if_ok) | 如果检测选项通过,则取消宏定义 | >= 1.0.1 |
+| [add_undefines_h_if_ok](#optionadd_undefines_h_if_ok) | 如果检测选项通过,则在配置头文件中取消宏定义 | >= 1.0.1 |
##### 通用接口 (target)
下面的这些接口,是跟`target`目标域接口通用的,在`option()`和`target()`域范围内都能同时使用,可直接参考上面`target`中的接口描述。
-| 接口 | 描述 | 支持版本 |
-| ------------------------------------- | ------------------------------------ | -------- |
-| [set_warnings](#set_warnings) | 设置警告级别 | >= 1.0.1 |
-| [set_optimize](#set_optimize) | 设置优化级别 | >= 1.0.1 |
-| [set_languages](#set_languages) | 设置代码语言标准 | >= 1.0.1 |
-| [add_links](#add_links) | 添加链接库名 | >= 1.0.1 |
-| [add_linkdirs](#add_linkdirs) | 添加链接库搜索目录 | >= 1.0.1 |
-| [add_includedirs](#add_includedirs) | 添加头文件搜索目录 | >= 1.0.1 |
-| [add_defines](#add_defines) | 添加宏定义 | >= 1.0.1 |
-| [add_undefines](#add_undefines) | 取消宏定义 | >= 1.0.1 |
-| [add_defines_h](#add_defines_h) | 添加宏定义到头文件 | >= 1.0.1 |
-| [add_undefines_h](#add_undefines_h) | 取消宏定义到头文件 | >= 1.0.1 |
-| [add_cflags](#add_cflags) | 添加c编译选项 | >= 1.0.1 |
-| [add_cxflags](#add_cxflags) | 添加c/c++编译选项 | >= 1.0.1 |
-| [add_cxxflags](#add_cxxflags) | 添加c++编译选项 | >= 1.0.1 |
-| [add_mflags](#add_mflags) | 添加objc编译选项 | >= 2.0.1 |
-| [add_mxflags](#add_mxflags) | 添加objc/objc++编译选项 | >= 2.0.1 |
-| [add_mxxflags](#add_mxxflags) | 添加objc++编译选项 | >= 2.0.1 |
-| [add_scflags](#add_scflags) | 添加swift编译选项 | >= 2.1.1 |
-| [add_asflags](#add_asflags) | 添加汇编编译选项 | >= 2.1.1 |
-| [add_goflags](#add_goflags) | 添加go编译选项 | >= 2.1.1 |
-| [add_ldflags](#add_ldflags) | 添加链接选项 | >= 2.1.1 |
-| [add_arflags](#add_arflags) | 添加静态库归档选项 | >= 2.1.1 |
-| [add_shflags](#add_shflags) | 添加动态库链接选项 | >= 2.0.1 |
-| [add_cfuncs](#add_cfuncs) | 添加c库函数检测 | >= 1.0.1 |
-| [add_cxxfuncs](#add_cxxfuncs) | 添加c++库函数接口 | >= 1.0.1 |
-| [add_languages](#add_languages) | 添加语言标准 | >= 2.0.1 |
-| [add_vectorexts](#add_vectorexts) | 添加向量扩展指令 | >= 2.0.1 |
-| [add_frameworks](#add_frameworks) | 添加链接框架 | >= 2.1.1 |
+| 接口 | 描述 | 支持版本 |
+| ----------------------------------------- | ------------------------------------ | -------- |
+| [set_warnings](#targetset_warnings) | 设置警告级别 | >= 1.0.1 |
+| [set_optimize](#targetset_optimize) | 设置优化级别 | >= 1.0.1 |
+| [set_languages](#targetset_languages) | 设置代码语言标准 | >= 1.0.1 |
+| [add_links](#targetadd_links) | 添加链接库名 | >= 1.0.1 |
+| [add_linkdirs](#targetadd_linkdirs) | 添加链接库搜索目录 | >= 1.0.1 |
+| [add_includedirs](#targetadd_includedirs) | 添加头文件搜索目录 | >= 1.0.1 |
+| [add_defines](#targetadd_defines) | 添加宏定义 | >= 1.0.1 |
+| [add_undefines](#targetadd_undefines) | 取消宏定义 | >= 1.0.1 |
+| [add_defines_h](#targetadd_defines_h) | 添加宏定义到头文件 | >= 1.0.1 |
+| [add_undefines_h](#targetadd_undefines_h) | 取消宏定义到头文件 | >= 1.0.1 |
+| [add_cflags](#targetadd_cflags) | 添加c编译选项 | >= 1.0.1 |
+| [add_cxflags](#targetadd_cxflags) | 添加c/c++编译选项 | >= 1.0.1 |
+| [add_cxxflags](#targetadd_cxxflags) | 添加c++编译选项 | >= 1.0.1 |
+| [add_mflags](#targetadd_mflags) | 添加objc编译选项 | >= 2.0.1 |
+| [add_mxflags](#targetadd_mxflags) | 添加objc/objc++编译选项 | >= 2.0.1 |
+| [add_mxxflags](#targetadd_mxxflags) | 添加objc++编译选项 | >= 2.0.1 |
+| [add_scflags](#targetadd_scflags) | 添加swift编译选项 | >= 2.1.1 |
+| [add_asflags](#targetadd_asflags) | 添加汇编编译选项 | >= 2.1.1 |
+| [add_goflags](#targetadd_goflags) | 添加go编译选项 | >= 2.1.1 |
+| [add_ldflags](#targetadd_ldflags) | 添加链接选项 | >= 2.1.1 |
+| [add_arflags](#targetadd_arflags) | 添加静态库归档选项 | >= 2.1.1 |
+| [add_shflags](#targetadd_shflags) | 添加动态库链接选项 | >= 2.0.1 |
+| [add_cfuncs](#targetadd_cfuncs) | 添加c库函数检测 | >= 1.0.1 |
+| [add_cxxfuncs](#targetadd_cxxfuncs) | 添加c++库函数接口 | >= 1.0.1 |
+| [add_languages](#targetadd_languages) | 添加语言标准 | >= 2.0.1 |
+| [add_vectorexts](#targetadd_vectorexts) | 添加向量扩展指令 | >= 2.0.1 |
+| [add_frameworks](#targetadd_frameworks) | 添加链接框架 | >= 2.1.1 |
##### option
@@ -1692,7 +1692,7 @@ $ xmake f --test=y
$ xmake
```
-##### set_default
+##### option:set_default
###### 设置选项默认值
@@ -1740,7 +1740,7 @@ $ xmake
给这个`rootdir`选项指定一个其他的源码目录路径,然后编译。
-##### set_showmenu
+##### option:set_showmenu
###### 设置是否启用菜单显示
@@ -1760,7 +1760,7 @@ Options:
--test=TEST
```
-##### set_category
+##### option:set_category
###### 设置选项分类,仅用于菜单显示
@@ -1801,7 +1801,7 @@ Options:
这个接口,仅仅是为了调整显示布局,更加美观而已,没其他用途。
-##### set_description
+##### option:set_description
###### 设置菜单显示描述
@@ -1853,7 +1853,7 @@ Options:
$ xmake f --mode=release
```
-##### add_bindings
+##### option:add_bindings
###### 添加正向关联选项,同步启用和禁用
@@ -1871,7 +1871,7 @@ option("smallest")
add_bindings("nozip", "noxml", "nojson")
```
-##### add_rbindings
+##### option:add_rbindings
###### 添加逆向关联选项,同步启用和禁用
@@ -1897,7 +1897,7 @@ option("smallest")
$ xmake f --smallest=y --xml=y --zip=y
```
-##### add_cincludes
+##### option:add_cincludes
###### 添加c头文件检测
@@ -1915,13 +1915,13 @@ target("test")
此选项检测是否存在`pthread.h`的头文件,如果检测通过那么`test`目标程序将会加上`ENABLE_PTHREAD`的宏定义。
-##### add_cxxincludes
+##### option:add_cxxincludes
###### 添加c++头文件检测
-与[add_cincludes](#add_cincludes)类似,只是检测的头文件类型是c++头文件。
+与[add_cincludes](#optionadd_cincludes)类似,只是检测的头文件类型是c++头文件。
-##### add_ctypes
+##### option:add_ctypes
###### 添加c类型检测
@@ -1939,23 +1939,23 @@ target("test")
此选项检测是否存在`wchar_t`的类型,如果检测通过那么`test`目标程序将会加上`HAVE_WCHAR`的宏定义。
-##### add_cxxtypes
+##### option:add_cxxtypes
###### 添加c++类型检测
-与[add_ctypes](#add_ctypes)类似,只是检测的类型是c++类型。
+与[add_ctypes](#optionadd_ctypes)类似,只是检测的类型是c++类型。
-##### add_defines_if_ok
+##### option:add_defines_if_ok
###### 如果检测选项通过,则添加宏定义
-检测选项通过后才会被设置,具体使用见[add_cincludes](#add_cincludes)中的例子。
+检测选项通过后才会被设置,具体使用见[add_cincludes](#optionadd_cincludes)中的例子。
-##### add_defines_h_if_ok
+##### option:add_defines_h_if_ok
###### 如果检测选项通过,则添加宏定义到配置头文件
-跟[add_defines_if_ok](#add_defines_if_ok)类似,只是检测通过后,会在`config.h`头文件中自动加上被设置的宏定义。
+跟[add_defines_if_ok](#optionadd_defines_if_ok)类似,只是检测通过后,会在`config.h`头文件中自动加上被设置的宏定义。
例如:
@@ -1975,38 +1975,38 @@ target("test")
#define ENABLE_PTHREAD 1
```
-具体`config.h`如何设置,见:[set_config_h](#set_config_h)
+具体`config.h`如何设置,见:[set_config_h](#targetset_config_h)
-##### add_undefines_if_ok
+##### option:add_undefines_if_ok
###### 如果检测选项通过,则取消宏定义
-跟[add_defines_if_ok](#add_defines_if_ok)类似,只是检测通过后,取消被设置的宏定义。
+跟[add_defines_if_ok](#optionadd_defines_if_ok)类似,只是检测通过后,取消被设置的宏定义。
-##### add_undefines_h_if_ok
+##### option:add_undefines_h_if_ok
###### 如果检测选项通过,则在配置头文件中取消宏定义
-跟[add_defines_h_if_ok](#add_defines_h_if_ok)类似,只是检测通过后,会在`config.h`中取消被设置的宏定义。
+跟[add_defines_h_if_ok](#optionadd_defines_h_if_ok)类似,只是检测通过后,会在`config.h`中取消被设置的宏定义。
```c
#undef DEFINED_MACRO
```
-具体`config.h`如何设置,见:[set_config_h](#set_config_h)
+具体`config.h`如何设置,见:[set_config_h](#targetset_config_h)
#### 插件任务
xmake可以实现自定义任务或者插件,其两者的核心就是`task`任务,其两者实际上是一样的,xmake的插件都是用`task`实现的。
-本质上都是任务,只是[set_category](#set_category)分类不同而已。
+本质上都是任务,只是[set_category](#taskset_category)分类不同而已。
| 接口 | 描述 | 支持版本 |
| ----------------------------------------------- | -------------------------------------------- | -------- |
| [task](#task) | 定义插件或者任务 | >= 2.0.1 |
-| [set_menu](#set_menu) | 设置任务菜单 | >= 2.0.1 |
-| [set_category](#set_category) | 设置任务类别 | >= 2.0.1 |
-| [on_run](#on_run) | 设置任务运行脚本 | >= 2.0.1 |
+| [set_menu](#taskset_menu) | 设置任务菜单 | >= 2.0.1 |
+| [set_category](#taskset_category) | 设置任务类别 | >= 2.0.1 |
+| [on_run](#taskon_run) | 设置任务运行脚本 | >= 2.0.1 |
##### task
@@ -2027,7 +2027,7 @@ task("hello")
这个任务只需要打印`hello xmake!`,那如何来运行呢?
-由于这里没有使用[set_menu](#set_menu)设置菜单,因此这个任务只能再`xmake.lua`的自定义脚本或者其他任务内部调用,例如:
+由于这里没有使用[set_menu](#taskset_menu)设置菜单,因此这个任务只能再`xmake.lua`的自定义脚本或者其他任务内部调用,例如:
```lua
target("test")
@@ -2044,7 +2044,7 @@ target("test")
在构建完`test`目标后运行`hello`任务。
-##### set_menu
+##### task:set_menu
###### 设置任务菜单
@@ -2119,7 +2119,7 @@ Tasks:
echo Echo the given info!
```
-如果通过[set_category](#set_category)设置分类为`plugin`,那么这个任务就是一个插件了:
+如果通过[set_category](#taskset_category)设置分类为`plugin`,那么这个任务就是一个插件了:
```
Plugins:
@@ -2191,7 +2191,7 @@ $ xmake echo --color=red --bright hello xmake!
最后面的可变参数列表,在`run`脚本中通过`option.get("contents")`获取,返回的是一个`table`类型的数组。
-##### set_category
+##### task:set_category
###### 设置任务类别
@@ -2216,7 +2216,7 @@ Plugins:
如果没有调用这个接口设置分类,默认使用`Tasks`分组显示,代表普通任务。
-##### on_run
+##### task:on_run
###### 设置任务运行脚本
@@ -2328,6 +2328,10 @@ task.run("hello", {color="red"}, arg1, arg2, arg3)
##### set_tooldirs
##### on_load
+#### 语言扩展
+
+##### language
+
#### 工程模板
##### template