Xmake v2.7.3 发布,包组件和 C++ 模块增量构建支持( 四 )


支持 ispc 编译规则Xmake 新增了 ipsc 编译器内置规则支持 , 非常感谢 @star-hengxing 的贡献,具体使用方式如下:
target("test")set_kind("binary")add_rules("utils.ispc", {header_extension = "_ispc.h"})set_values("ispc.flags", "--target=host")add_files("src/*.ispc")add_files("src/*.cpp")支持 msvc 的 armasm 编译器之前的版本,Xmake 增加了 Windows ARM 的初步支持,但是对 asm 编译还没有很好的支持,因此这个版本,我们继续完善 Windows ARM 的支持 。
对 msvc 的 armasm.exearmasm64.exe 都支持上了 。
另外 , 我们也改进了包对 Windows ARM 平台的交叉编译支持 。
新增 gnu-rm 构建规则Xmake 也新增了一个使用 gnu-rm 工具链去构建嵌入式项目的规则和例子工程,非常感谢 @JacobPeng 的贡献 。
add_rules("mode.debug", "mode.release")add_requires("gnu-rm")set_toolchains("@gnu-rm")set_plat("cross")set_arch("armv7")target("foo")add_rules("gnu-rm.static")add_files("src/foo/*.c")target("hello")add_deps("foo")add_rules("gnu-rm.binary")add_files("src/*.c", "src/*.S")add_files("src/*.ld")add_includedirs("src/lib/cmsis")完整工程见:Embed GNU-RM Example
新增 OpenBSD 系统支持之前的版本,Xmake 仅仅支持 FreeBSD 系统,而 OpenBSD 跟 FreeBSD 还是有不少差异的,导致 Xmake 无法在它上面正常编译安装 。
而新版本已经完全支持在 OpenBSD 上运行 Xmake 了 。
更新内容新特性

  • 一种新的可选域配置语法,对 LSP 友好,并且支持域隔离 。
  • #2944: 为嵌入式工程添加 gnu-rm.binarygnu-rm.static 规则和测试工程
  • #2636: 支持包组件
  • 支持 msvc 的 armasm/armasm64
  • #3023: 改进 xmake run -d , 添加 renderdoc 调试器支持
  • #3022: 为特定编译器添加 flags
  • #3025: 新增 C++ 异常接口配置
  • #3017: 支持 ispc 编译器规则
改进
  • #2925: 改进 doxygen 插件
  • #2948: 支持 OpenBSD
  • 添加 xmake g --insecure-ssl=y 配置选项去禁用 ssl 证书检测
  • #2971: 使 vs/vsxmake 工程生成的结果每次保持一致
  • #3000: 改进 C++ 模块构建支持,实现增量编译支持
  • #3016: 改进 clang/msvc 去更好地支持 std 模块
Bugs 修复
  • #2949: 修复 vs 分组
  • #2952: 修复 armlink 处理长命令失败问题
  • #2954: 修复 c++ module partitions 路径无效问题
  • #3033: 探测循环模块依赖
https://tboox.org/cn/2022/11/08/xmake-update-v2.7.3/

推荐阅读