xmake v2.5.7 发布,包依赖锁定和 Vala/Metal 语言编译支持 (3)

这样我们就可以依靠xmake的默认编译过程来编译自动生成的代码了,像这样:

add_rules("mode.debug", "mode.release") target("autogen_code") set_kind("binary") add_files("$(buildir)/autogen.cpp", {always_added = true}) before_build(function (target) io.writefile("$(buildir)/autogen.cpp", [[ #include <iostream> using namespace std; int main(int argc, char** argv) { cout << "hello world!" << endl; return 0; } ]]) end)

都不需要额外的 rule 定义,只需要保证编译顺序,在正确的阶段生成代码文件就可以了。

但是,我们也需要注意,由于当前自动生成的源文件可能还不存在,我们不能在 add_files 里面使用模式匹配,只能显式添加每个源文件路径。

更新内容 新特性

#1534: 新增对 Vala 语言的支持

#1544: 添加 utils.bin2c 规则去自动从二进制资源文件产生 .h 头文件并引入到 C/C++ 代码中

#1547: option/snippets 支持运行检测模式,并且可以获取输出

#1567: 新增 xmake-requires.lock 包依赖锁定支持

#1597: 支持编译 metal 文件到 metallib,并改进 xcode.application 规则去生成内置的 default.metallib 到 app

改进

#1540: 更好更方便地编译自动生成的代码

#1578: 改进 add_repositories 去更好地支持相对路径

#1582: 改进安装和 os.cp 支持符号链接

Bugs 修复

#1531: 修复 targets 加载失败的错误信息提示错误

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgjfpd.html