ruki 6 miesięcy temu
rodzic
commit
09e06cdc39

+ 22 - 1
docs/guide/project-configuration/configure-targets.md

@@ -166,7 +166,7 @@ add_linkdirs("/tmp")
 
 For more details, please refer to the document: [add_links](/api/description/project-target#add-links).
 
-## Configure system link library
+## Configure system link library {#configure-syslinks}
 
 `add_links` is usually used to link user-generated libraries, while `add_syslinks` can add system libraries without the need for an additional `add_linkdirs`.
 
@@ -204,6 +204,27 @@ For more details, please refer to the documentation:
 - [add_cxflags](/api/description/project-target#add-cxflags)
 - [add_cxxflags](/api/description/project-target#add-cxxflags)
 
+## Configure target dependency {#configure-targetdeps}
+
+We can configure the dependency between two target programs through the [add_deps](/api/description/project-target#add-deps) interface.
+
+This is usually used in scenarios where an executable program depends on a static library (or dynamic library), for example:
+
+```lua
+target("foo")
+    set_kind("static")
+    add_files("src/foo.cpp")
+
+target("test")
+    set_kind("binary")
+    add_deps("foo")
+    add_files("src/main.cpp")
+```
+
+Since the dependency between test and foo library programs is configured through `add_deps`, when we compile test, the foo dependency library will be automatically compiled and automatically linked to it, without the need for additional `add_links` and `add_linkdirs` configurations.
+
+For more information about dependency configuration, please refer to the document: [add_deps](/api/description/project-target#add-deps).
+
 ## Others
 
 For a more complete description of the target configuration API, please refer to the documentation: [Project Target API Manual](/api/description/project-target).

+ 21 - 0
docs/zh/guide/project-configuration/configure-targets.md

@@ -205,6 +205,27 @@ add_cxflags("-DDEBUG")
 - [add_cxflags](/zh/api/description/project-target#add-cxflags)
 - [add_cxxflags](/zh/api/description/project-target#add-cxxflags)
 
+## 配置目标依赖 {#configure-targetdeps}
+
+我们可以通过 [add_deps](/zh/api/description/project-target#add-deps) 接口来配置两个目标程序间的依赖。
+
+这通常可用于一个可执行程序依赖一个静态库(或者动态库)的场景,例如:
+
+```lua
+target("foo")
+    set_kind("static")
+    add_files("src/foo.cpp")
+
+target("test")
+    set_kind("binary")
+    add_deps("foo")
+    add_files("src/main.cpp")
+```
+
+由于 test 和 foo 库程序之间通过 `add_deps` 配置了依赖关系,当我们编译 test 的时候,会自动编译 foo 依赖库,并且也会自动的去链接它,而不再需要额外的 `add_links` 和 `add_linkdirs` 配置。
+
+更多关于依赖的配置说明,请参考文档:[add_deps](/zh/api/description/project-target#add-deps)。
+
 ## 其他
 
 更多关于目标配置 API 的完整说明,可以查看文档:[工程目标 API 手册](/zh/api/description/project-target)。