Browse Source

add add_syslinks

ruki 7 years ago
parent
commit
fbdbe623cd
2 changed files with 36 additions and 0 deletions
  1. 18 0
      manual.md
  2. 18 0
      zh/manual.md

+ 18 - 0
manual.md

@@ -733,6 +733,7 @@ target("test2")
 | [set_pcxxheader](#targetset_pcxxheader)       | Set pre-compiled c++ header file                       | >= 2.1.5                    |
 | [add_deps](#targetadd_deps)                   | Add target dependencies                                | >= 1.0.1                    |
 | [add_links](#targetadd_links)                 | Add link libraries                                     | >= 1.0.1                    |
+| [add_syslinks](#targetadd_syslinks)           | Add system link libraries                              | >= 2.2.3                    |
 | [add_files](#targetadd_files)                 | Add source files                                       | >= 1.0.1                    |
 | [del_files](#targetdel_files)                 | Remove source files                                    | >= 2.1.9                    |
 | [add_headers](#targetadd_headers)             | Add installed header files                             | >= 1.0.1                    |
@@ -1868,6 +1869,23 @@ target("demo")
     add_linkdirs("$(buildir)/lib")
 ```
 
+##### target:add_syslinks
+
+###### Add system link libraries
+
+这个接口使用上跟[add_links](#targetadd_links)类似,唯一的区别就是,通过这个接口添加的链接库顺序在所有`add_links`之后。
+
+因此主要用于添加系统库依赖,因为系统库的链接顺序是非常靠后的,例如:
+
+```lua
+add_syslinks("pthread", "m", "dl")
+target("demo")
+    add_links("a", "b")
+    add_linkdirs("$(buildir)/lib")
+```
+
+上面的配置,即使`add_syslinks`被优先提前设置了,但最后的链接顺序依然是:`-la -lb -lpthread -lm -ldl`
+
 ##### target:add_files
 
 ###### Add source files

+ 18 - 0
zh/manual.md

@@ -758,6 +758,7 @@ target("test2")
 | [set_pcxxheader](#targetset_pcxxheader)       | 设置c++预编译头文件                  | >= 2.1.5 |
 | [add_deps](#targetadd_deps)                   | 添加子工程目标依赖                   | >= 1.0.1 |
 | [add_links](#targetadd_links)                 | 添加链接库名                         | >= 1.0.1 |
+| [add_syslinks](#targetadd_syslinks)           | 添加系统链接库名                     | >= 2.2.3 |
 | [add_files](#targetadd_files)                 | 添加源代码文件                       | >= 1.0.1 |
 | [del_files](#targetdel_files)                 | 从前面的源文件列表中删除指定文件     | >= 2.1.9 |
 | [add_headers](#targetadd_headers)             | 添加安装的头文件                     | >= 1.0.1 |
@@ -1887,6 +1888,23 @@ target("demo")
     add_linkdirs("$(buildir)/lib")
 ```
 
+##### target:add_syslinks
+
+###### 添加系统链接库名
+
+这个接口使用上跟[add_links](#targetadd_links)类似,唯一的区别就是,通过这个接口添加的链接库顺序在所有`add_links`之后。
+
+因此主要用于添加系统库依赖,因为系统库的链接顺序是非常靠后的,例如:
+
+```lua
+add_syslinks("pthread", "m", "dl")
+target("demo")
+    add_links("a", "b")
+    add_linkdirs("$(buildir)/lib")
+```
+
+上面的配置,即使`add_syslinks`被优先提前设置了,但最后的链接顺序依然是:`-la -lb -lpthread -lm -ldl`
+
 ##### target:add_files
 
 ###### 添加源代码文件