diff options
| author | ruki <waruqi@gmail.com> | 2019-07-27 00:17:29 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2019-07-27 00:17:29 +0800 |
| commit | 42066f46af45364f429a8ab4abd6f2ed3c9cbff1 (patch) | |
| tree | 8e31c83243fbee5aa06695c11e2396ad7d6e2cbc /zh-cn/package/local_package.md | |
| parent | aaeddf48841d253a97598dd38a6644a289a4ff6b (diff) | |
| download | xmake-docs-42066f46af45364f429a8ab4abd6f2ed3c9cbff1.tar.gz xmake-docs-42066f46af45364f429a8ab4abd6f2ed3c9cbff1.zip | |
update package sidebar
Diffstat (limited to 'zh-cn/package/local_package.md')
| -rw-r--r-- | zh-cn/package/local_package.md | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/zh-cn/package/local_package.md b/zh-cn/package/local_package.md new file mode 100644 index 00000000..9a24dfb8 --- /dev/null +++ b/zh-cn/package/local_package.md @@ -0,0 +1,46 @@ + +通过在项目中内置依赖包目录以及二进制包文件,可以方便的集成一些第三方的依赖库,这种方式比较简单直接,但是缺点也很明显,不方便管理。 + +以tbox工程为例,其依赖包如下: + +``` +- base.pkg +- zlib.pkg +- polarssl.pkg +- openssl.pkg +- mysql.pkg +- pcre.pkg +- ... +``` + +如果要让当前工程识别加载这些包,首先要指定包目录路径,例如: + +```lua +add_packagedirs("packages") +``` + +指定好后,就可以在target作用域中,通过[add_packages](/zh-cn/manual/project_target?id=targetadd_packages)接口,来添加集成包依赖了,例如: + +```lua +target("tbox") + add_packages("zlib", "polarssl", "pcre", "mysql") +``` + +那么如何去生成一个*.pkg的包呢,如果是基于xmake的工程,生成方式很简单,只需要: + +```console +$ cd tbox +$ xmake package +``` + +即可在build目录下生成一个tbox.pkg的跨平台包,给第三方项目使用,我也可以直接设置输出目录,编译生成到对方项目中去,例如: + +```console +$ cd tbox +$ xmake package -o ../test/packages +``` + +这样,test工程就可以通过[add_packages]((/zh-cn/manual/project_target?id=targetadd_packages)和[add_packagedirs](/zh-cn/manual/global_interfaces?id=add_packagedirs)去配置和使用tbox.pkg包了。 + +关于内置包的详细描述,还可以参考下相关文章,这里面有详细介绍:[依赖包的添加和自动检测机制](https://tboox.org/cn/2016/08/06/add-package-and-autocheck/) + |
