此版本带来了大量新特性更新,具体详见:xmake v2.1.5版本新特性介绍。
更多使用说明,请阅读:文档手册。
新特性
- #83: 添加
add_csnippet,add_cxxsnippet到option来检测一些编译器特性 - #83: 添加用户扩展模块去探测程序,库文件以及其他主机环境
- 添加
find_program,find_file,find_library,find_tool和find_package等模块接口 - 添加
net.*和devel.*扩展模块 - 添加
val()接口去获取内置变量,例如:val("host"),val("env PATH"),val("shell echo hello")andval("reg HKEY_LOCAL_MACHINE\\XX;Value") - 增加对微软.rc资源文件的编译支持,当在windows上编译时,可以增加资源文件了
- 增加
has_flags,features和has_features等探测模块接口 - 添加
option.on_check,option.after_check和option.before_check接口 - 添加
target.on_load接口 - #132: 添加
add_frameworkdirs接口 - 添加
lib.detect.has_xxx和lib.detect.find_xxx接口 - 添加
add_moduledirs接口在工程中定义和加载扩展模块 - 添加
includes接口替换add_subdirs和add_subfiles - #133: 改进工程插件,通过运行
xmake project -k compile_commands来导出compile_commands.json - 添加
set_pcheader和set_pcxxheader去支持跨编译器预编译头文件,支持gcc,clang和msvc - 添加
xmake f -p cross平台用于交叉编译,并且支持自定义平台名
改进
- #87: 为依赖库目标自动添加:
includes和links - 改进
import接口,去加载用户扩展模块 - #93: 改进
xmake lua,支持运行单行命令和模块 - 改进编译错误提示信息输出
- 改进
print接口去更好些显示table数据 - #111: 添加
--root通用选项去临时支持作为root运行 - #113: 改进权限管理,现在作为root运行也是非常安全的
- 改进
xxx_script工程描述api,支持多平台模式选择, 例如:on_build("iphoneos|arm*", function (target) end) - 改进内置变量,支持环境变量和注册表数据的获取
- 改进vstudio环境和交叉工具链的探测
- #71: 改进从环境变量中探测链接器和编译器
- 改进option选项检测,通过多任务检测,提升70%的检测速度
- #129: 检测链接依赖,如果源文件没有改变,就不必重新链接目标文件了
- 在vs201x工程插件中增加对
*.asm文件的支持 - 标记
add_bindings和add_rbindings为废弃接口 - 优化
xmake rebuild在windows上的构建速度 - 将
core.project.task模块迁移至core.base.task - 将
echo和app2ipa插件迁移到 xmake-plugins 仓库 - 添加
set_config_header("config.h", {prefix = ""})代替set_config_h和set_config_h_prefix
Bugs修复
- 修复
try-catch-finally - 修复解释器bug,解决当加载多级子目录时,根域属性设置不对
- #115: 修复安装脚本
get.sh的路径问题 - 修复
import()导入接口的缓存问题