aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md40
-rw-r--r--manual.md18
-rw-r--r--zh/README.md40
-rw-r--r--zh/manual.md18
4 files changed, 100 insertions, 16 deletions
diff --git a/README.md b/README.md
index a50ec484..73e28fa1 100644
--- a/README.md
+++ b/README.md
@@ -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`.
diff --git a/manual.md b/manual.md
index fad77296..1ae28a1c 100644
--- a/manual.md
+++ b/manual.md
@@ -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">