|
|
@@ -1113,24 +1113,49 @@ xmake会去远程拉取相关源码包,然后自动编译安装,最后编译
|
|
|
##### 目前支持的特性
|
|
|
|
|
|
* 语义版本支持,例如:">= 1.1.0 < 1.2", "~1.6", "1.2.x", "1.*"
|
|
|
-* 第三方依赖库目前已支持windows, linux, macos等pc平台,后续会完善包仓库,对iphone/android也支持上
|
|
|
-* 如果是基于xmake的依赖库项目,那么iphone, android甚至交叉编译都是完全支持的
|
|
|
-* 内置find_package自动检测系统库、第三方包仓库,优先适配使用系统已安装的库
|
|
|
-* 依赖包源码下载编译和自动链接支持、不同平台编译脚本配置
|
|
|
-* 二进制包下载直接安装支持
|
|
|
* 提供官方包仓库、自建私有仓库、项目内置仓库等多仓库管理支持
|
|
|
-* 可以自定义包描述规则,快速添加自己的包到仓库
|
|
|
* 跨平台包编译集成支持(不同平台、不同架构的包可同时安装,快速切换使用)
|
|
|
-* 内置release/debug依赖包支持,可指定使用debug包实现源码调试
|
|
|
+* debug依赖包支持,实现源码调试
|
|
|
|
|
|
##### 依赖包处理机制
|
|
|
|
|
|
这里我们简单介绍下整个依赖包的处理机制:
|
|
|
|
|
|
+<img src="https://xmake.io/assets/img/index/package_arch.png" width="80%" />
|
|
|
+
|
|
|
1. 优先检测当前系统目录、第三方包管理下有没有存在指定的包,如果有匹配的包,那么就不需要下载安装了 (当然也可以设置不使用系统包)
|
|
|
2. 检索匹配对应版本的包,然后下载、编译、安装(注:安装在特定xmake目录,不会干扰系统库环境)
|
|
|
3. 编译项目,最后自动链接启用的依赖包
|
|
|
|
|
|
+##### 快速上手
|
|
|
+
|
|
|
+新建一个依赖tbox库的空工程:
|
|
|
+
|
|
|
+```console
|
|
|
+$ xmake create -t console_tbox test
|
|
|
+$ cd test
|
|
|
+```
|
|
|
+
|
|
|
+执行编译即可,如果当前没有安装tbox库,则会自动下载安装后使用:
|
|
|
+
|
|
|
+```console
|
|
|
+$ xmake
|
|
|
+```
|
|
|
+
|
|
|
+切换到iphoneos平台进行编译,将会重新安装iphoneos版本的tbox库进行链接使用:
|
|
|
+
|
|
|
+```console
|
|
|
+$ xmake f -p iphoneos
|
|
|
+$ xmake
|
|
|
+```
|
|
|
+
|
|
|
+切换到android平台arm64-v8a架构编译:
|
|
|
+
|
|
|
+```console
|
|
|
+$ xmake f -p android [--ndk=~/android-ndk-r16b]
|
|
|
+$ xmake
|
|
|
+```
|
|
|
+
|
|
|
##### 语义版本设置
|
|
|
|
|
|
xmake的依赖包管理是完全支持语义版本选择的,例如:"~1.6.1",对于语义版本的具体描述见:[http://semver.org/](http://semver.org/)
|