xmake v2.6.9 发布,改进编译缓存和分布式编译

来源: 投稿
作者: ruki
2022-07-18 09:06:00

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。

它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。

它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。

我们能够使用它像 Make/Ninja 那样可以直接编译项目,也可以像 CMake/Meson 那样生成工程文件,另外它还有内置的包管理系统来帮助用户解决 C/C++ 依赖库的集成使用问题。

目前,Xmake 主要用于 C/C++ 项目的构建,但是同时也支持其他 native 语言的构建,可以实现跟 C/C++ 进行混合编译,同时编译速度也是非常的快,可以跟 Ninja 持平。

Xmake = Build backend + Project Generator + Package Manager + [Remote|Distributed] Build + Cache

尽管不是很准确,但我们还是可以把 Xmake 按下面的方式来理解:

Xmake ~= Make/Ninja + CMake/Meson + Vcpkg/Conan + distcc + ccache/sccache

新特性

  • #2474: 添加 icx 和 dpcpp 工具链
  • #2523: 改进对 LTO 的支持
  • #2527: 添加 set_runargs 接口

改进

  • 改进 tools.cmake 支持 wasm 库构建
  • #2491: 如果服务器不可访问,自动回退到本地编译和缓存
  • #2514: 为工程生成器禁用 Unity Build
  • #2473: 改进 apt::find_package,支持从 pc 文件中查找
  • #2512: 改进远程服务支持超时配置

Bugs 修复

  • #2488: 修复从 windows 到 linux 的远程编译路径问题
  • #2504: 修复在 msys2 上远程编译失败问题
  • #2525: 修复安装依赖包时候卡死问题
  • #2557: 修复 cmake.find_package 查找 links 错误
  • 修复缓存导致的预处理文件路径冲突问题

 

展开阅读全文
点击引领话题📣 发布并加入讨论🔥
0 评论
1 收藏
分享
返回顶部
顶部