此版本耗时四个多月,对包依赖管理进行了重构改进,官方仓库新增了mysql,ffmpeg等常用依赖包,并且新增了大量新特性。
关于新特性的详细说明,可以看下下面的官方文档,或者看下相关文章介绍:xmake v2.2.5新特性详解
关于新特性的详细说明见文章下文。
更新内容
新特性
- 添加
string.serialize和string.deserialize去序列化,反序列化对象,函数以及其他类型 - 添加
xmake g --menu去图形化配置全局选项 - #283: 添加
target:installdir()和set_installdir()接口 - #260: 添加
add_platformdirs接口,用户现在可以自定义扩展编译平台 - #310: 新增主题设置支持,用户可随意切换和扩展主题样式
- #318: 添加
add_installfiles接口到target去自定义安装文件 - #339: 改进
add_requires和find_package使其支持对第三方包管理的集成支持 - #327: 实现对conan包管理的集成支持
- 添加内置API
find_packages("pcre2", "zlib")去同时查找多个依赖包,不需要通过import导入即可直接调用 - #320: 添加模板配置文件相关接口,
add_configfiles和set_configvar - #179: 扩展
xmake project插件,新增CMakelist.txt生成支持 - #361: 增加对vs2019 preview的支持
- #368: 支持
private, public, interface属性设置去继承target配置 - #284: 通过
add_configs()添加和传递用户自定义配置到package() - #319: 添加
add_headerfiles接口去改进头文件的设置 - #342: 为
includes()添加一些内置的辅助函数,例如:check_cfuncs
改进
- 针对远程依赖包,改进版本和调试模式切换
- #264: 支持在windows上更新dev/master版本,
xmake update dev - #293: 添加
xmake f/g --mingw=xxx配置选线,并且改进find_mingw检测 - #301: 改进编译预处理头文件以及依赖头文件生成,编译速度提升30%
- #322: 添加
option.add_features,option.add_cxxsnippets和option.add_csnippets - 移除xmake 1.x的一些废弃接口, 例如:
add_option_xxx - #327: 改进
lib.detect.find_package增加对conan包管理器的支持 - 改进
lib.detect.find_package并且添加内建的find_packages("zlib 1.x", "openssl", {xxx = ...})接口 - 标记
set_modes()作为废弃接口, 我们使用add_rules("mode.debug", "mode.release")来替代它 - #353: 改进
target:set,target:add并且添加target:del去动态修改target配置 - #356: 添加
qt_add_static_plugins()接口去支持静态Qt sdk - #351: 生成vs201x插件增加对yasm的支持
- 重构改进整个远程依赖包管理器,更加快速、稳定、可靠,并提供更多的常用包