xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。 随着 xmake 最近几年不断的迭代发展, Read More
posted @ 2020-09-15 09:24 waruqi Views(489) Comments(0) Diggs(1) Edit
这个版本重点对其他语言的支持做了一些改进,比如新增了fortran的编译支持,zig语言的实验性支持,另外对golang/dlang增加了第三方依赖包支持以及交叉编译支持。 虽然,xmake重点关注c/c++的构建支持,但是其他语言的支持xmake也会不定期做一些改进,其主要目的并不是替代它们官方自身的构建系统,仅仅只是为了支持与c/c++的混合编译,更好的为c/c++项目服务, 毕竟有些c/c++项目中,还是会偶尔调用其他语言的代码接口,比如与cuda, dlang, objc,swift, asm等语言的混合调用,所以xmake还是会对他们做一些基础性的编译支持。 Read More
posted @ 2020-07-29 09:34 waruqi Views(326) Comments(0) Diggs(0) Edit
xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。 本文主要详细讲解下,如何通过添加自定义的脚本,在脚本域实现更加复杂灵活的定制。 项目源码 官方文档 配置分离 xmake.lua采用二八原则实现了描述 Read More
posted @ 2020-07-21 10:22 waruqi Views(862) Comments(0) Diggs(1) Edit
为了让xmake更好得支持交叉编译,这个版本我重构了整个工具链,使得工具链的切换更加的方便快捷,并且现在用户可以很方便地在xmake.lua中扩展自己的工具链。 关于平台的支持上,我们新增了对*BSD系统的支持,另外,此版本还新增了一个ninja主题风格,实现类似ninja的编译进度显示,例如: 项 Read More
posted @ 2020-06-08 09:56 waruqi Views(650) Comments(0) Diggs(0) Edit
这个版本重点重构优化了下内部并行构建机制,实现多个target间源文件的并行编译,以及并行link的支持,同时优化了xmake的一些内部损耗,修复影响编译速度的一些bug。 通过测试对比,目前的整体构建速度基本跟ninja持平,相比cmake/make, meson/ninja都快了不少,因为它们还 Read More
posted @ 2020-03-29 16:03 waruqi Views(451) Comments(0) Diggs(1) Edit
最近对xmake内部做了不少的重构来改进,并且新增了不少实用的新特性,欢迎来体验。 Read More
posted @ 2020-02-24 21:32 waruqi Views(537) Comments(0) Diggs(0) Edit
这个版本没啥太大新特性,主要对c++20 modules进行了实验性支持,目前支持clang/msvc编译器,除此之外改进了不少使用体验,并且提高了一些稳定性。 另外,这个版本新增了socket.io支持以及对应协程io的调度支持,为下个版本的远程编译,以及后续的分布式编译做准备。 "项目源码" " Read More
posted @ 2019-12-22 21:14 waruqi Views(627) Comments(1) Diggs(0) Edit
xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。 本文主要详细讲解下,如果在一个项目中维护和生成多个目标文件的生成,以及它们之间的依赖关系设置。 Read More
posted @ 2019-12-13 09:12 waruqi Views(707) Comments(0) Diggs(0) Edit
TBOX是一个用c语言实现的跨平台开发库。针... Read More
posted @ 2019-12-10 09:02 waruqi Views(1114) Comments(0) Diggs(0) Edit
xmake是一个基于Lua的轻量级现代化c/... Read More
posted @ 2019-12-10 09:02 waruqi Views(452) Comments(0) Diggs(0) Edit