diff options
| author | ruki <waruqi@gmail.com> | 2017-10-13 23:33:20 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2017-10-13 15:20:00 +0800 |
| commit | da98f581361164abedb442dfae04b56802b0c394 (patch) | |
| tree | d411fbf88be95e0fddcd1409e2642de70fb336e5 | |
| parent | c0a1f68b6fe382386d069e4059a2cfe1f34221e9 (diff) | |
| download | xmake-docs-da98f581361164abedb442dfae04b56802b0c394.tar.gz xmake-docs-da98f581361164abedb442dfae04b56802b0c394.zip | |
update find_program doc
| -rw-r--r-- | README.md | 40 | ||||
| -rw-r--r-- | manual.md | 18 | ||||
| -rw-r--r-- | zh/README.md | 40 | ||||
| -rw-r--r-- | zh/manual.md | 18 |
4 files changed, 100 insertions, 16 deletions
@@ -252,6 +252,46 @@ hello`main: You can also use short command option, for exmaple: `xmake r` or `xmake run` </p> +## Project Examples + +#### Executale Program + +```lua +target("test") + set_kind("binary") + add_files("src/*c") +``` + +#### Static Library Program + +```lua +target("library") + set_kind("static") + add_files("src/library/*.c") + +target("test") + set_kind("binary") + add_files("src/*c") + add_deps("library") +``` + +We use `add_deps` to link a static library to test target. + +#### Share Library Program + +```lua +target("library") + set_kind("shared") + add_files("src/library/*.c") + +target("test") + set_kind("binary") + add_files("src/*c") + add_deps("library") +``` + +We use `add_deps` to link a share library to test target. + ## Configuration Set compilation configuration before building project with command `xmake f|config`. @@ -4018,6 +4018,8 @@ $ export COLORTERM=truecolor $ xmake --version ``` +2.1.7版本可通过`COLORTERM=nocolor`来禁用色彩输出。 + ##### cprintf ###### 无换行彩色打印终端日志 @@ -6092,7 +6094,7 @@ local program = find_program("ccache") 指定搜索目录,修改尝试运行的检测命令参数(默认是:`ccache --version`): ```lua -local program = find_program("ccache", {"/usr/bin", "/usr/local/bin"}, "--help") +local program = find_program("ccache", {pathes = {"/usr/bin", "/usr/local/bin"}, check = "--help"}) ``` 上述代码会尝试运行:`/usr/bin/ccache --help`,如果运行成功,则返回:`/usr/bin/ccache`。 @@ -6100,14 +6102,14 @@ local program = find_program("ccache", {"/usr/bin", "/usr/local/bin"}, "--help") 如果`--help`也没法满足需求,有些程序没有`--version/--help`参数,那么可以自定义运行脚本,来运行检测: ```lua -local program = find_program("ccache", {"/usr/bin", "/usr/local/bin"}, function (program) os.run("%s -h", program) end) +local program = find_program("ccache", {pathes = {"/usr/bin", "/usr/local/bin"}, check = function (program) os.run("%s -h", program) end}) ``` 同样,搜索路径列表支持内建变量和自定义脚本: ```lua -local program = find_program("ccache", {"$(env PATH)", "$(reg HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug;Debugger)"}) -local program = find_program("ccache", {"$(env PATH)", function () return "/usr/local/bin" end}) +local program = find_program("ccache", {pathes = {"$(env PATH)", "$(reg HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug;Debugger)"}}) +local program = find_program("ccache", {pathes = {"$(env PATH)", function () return "/usr/local/bin" end}}) ``` <p class="tip"> @@ -6133,20 +6135,20 @@ local programver = find_programver("ccache") 默认它会通过`ccache --version`尝试获取版本,如果不存在此参数,可以自己指定其他参数: ```lua -local version = find_programver("ccache", "-v") +local version = find_programver("ccache", {command = "-v"}) ``` 甚至自定义版本获取脚本: ```lua -local version = find_programver("ccache", function () return os.iorun("ccache --version") end) +local version = find_programver("ccache", {command = function () return os.iorun("ccache --version") end}) ``` 对于版本号的提取规则,如果内置的匹配模式不满足要求,也可以自定义: ```lua -local version = find_programver("ccache", "--version", "(%d+%.?%d*%.?%d*.-)%s") -local version = find_programver("ccache", "--version", function (output) return output:match("(%d+%.?%d*%.?%d*.-)%s") end) +local version = find_programver("ccache", {command = "--version", parse = "(%d+%.?%d*%.?%d*.-)%s"}) +local version = find_programver("ccache", {command = "--version", parse = function (output) return output:match("(%d+%.?%d*%.?%d*.-)%s") end}) ``` <p class="tip"> diff --git a/zh/README.md b/zh/README.md index 2c194986..ffbc6c0e 100644 --- a/zh/README.md +++ b/zh/README.md @@ -280,6 +280,46 @@ hello`main: 你也可以使用简写的命令行选项,例如: `xmake r` 或者 `xmake run` </p> +## 工程实例 + +#### 可执行程序 + +```lua +target("test") + set_kind("binary") + add_files("src/*c") +``` + +#### 静态库程序 + +```lua +target("library") + set_kind("static") + add_files("src/library/*.c") + +target("test") + set_kind("binary") + add_files("src/*c") + add_deps("library") +``` + +通过`add_deps`将一个静态库自动链接到test可执行程序。 + +#### 动态库程序 + +```lua +target("library") + set_kind("shared") + add_files("src/library/*.c") + +target("test") + set_kind("binary") + add_files("src/*c") + add_deps("library") +``` + +通过`add_deps`将一个动态库自动链接到test可执行程序。 + ## 配置 通过`xmake f|config`配置命令,设置构建前的相关配置信息,详细参数选项,请运行: `xmake f --help`。 diff --git a/zh/manual.md b/zh/manual.md index f73bb288..5ea4a78e 100644 --- a/zh/manual.md +++ b/zh/manual.md @@ -4035,6 +4035,8 @@ $ export COLORTERM=truecolor $ xmake --version ``` +2.1.7版本可通过`COLORTERM=nocolor`来禁用色彩输出。 + ##### cprintf ###### 无换行彩色打印终端日志 @@ -6109,7 +6111,7 @@ local program = find_program("ccache") 指定搜索目录,修改尝试运行的检测命令参数(默认是:`ccache --version`): ```lua -local program = find_program("ccache", {"/usr/bin", "/usr/local/bin"}, "--help") +local program = find_program("ccache", {pathes = {"/usr/bin", "/usr/local/bin"}, check = "--help"}) ``` 上述代码会尝试运行:`/usr/bin/ccache --help`,如果运行成功,则返回:`/usr/bin/ccache`。 @@ -6117,14 +6119,14 @@ local program = find_program("ccache", {"/usr/bin", "/usr/local/bin"}, "--help") 如果`--help`也没法满足需求,有些程序没有`--version/--help`参数,那么可以自定义运行脚本,来运行检测: ```lua -local program = find_program("ccache", {"/usr/bin", "/usr/local/bin"}, function (program) os.run("%s -h", program) end) +local program = find_program("ccache", {pathes = {"/usr/bin", "/usr/local/bin"}, check = function (program) os.run("%s -h", program) end}) ``` 同样,搜索路径列表支持内建变量和自定义脚本: ```lua -local program = find_program("ccache", {"$(env PATH)", "$(reg HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug;Debugger)"}) -local program = find_program("ccache", {"$(env PATH)", function () return "/usr/local/bin" end}) +local program = find_program("ccache", {pathes = {"$(env PATH)", "$(reg HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug;Debugger)"}}) +local program = find_program("ccache", {pathes = {"$(env PATH)", function () return "/usr/local/bin" end}}) ``` <p class="tip"> @@ -6150,20 +6152,20 @@ local programver = find_programver("ccache") 默认它会通过`ccache --version`尝试获取版本,如果不存在此参数,可以自己指定其他参数: ```lua -local version = find_programver("ccache", "-v") +local version = find_programver("ccache", {command = "-v"}) ``` 甚至自定义版本获取脚本: ```lua -local version = find_programver("ccache", function () return os.iorun("ccache --version") end) +local version = find_programver("ccache", {command = function () return os.iorun("ccache --version") end}) ``` 对于版本号的提取规则,如果内置的匹配模式不满足要求,也可以自定义: ```lua -local version = find_programver("ccache", "--version", "(%d+%.?%d*%.?%d*.-)%s") -local version = find_programver("ccache", "--version", function (output) return output:match("(%d+%.?%d*%.?%d*.-)%s") end) +local version = find_programver("ccache", {command = "--version", parse = "(%d+%.?%d*%.?%d*.-)%s"}) +local version = find_programver("ccache", {command = "--version", parse = function (output) return output:match("(%d+%.?%d*%.?%d*.-)%s") end}) ``` <p class="tip"> |
