为了进一步提高构建效率,减小不必的重建,xmake新增了对头文件的依赖检测,以及自动构建仅仅须要从新编译的源文件,提高编译速度,而且彻底支持windows、linux、macosx等大部分平台。。linux
因为检测过程自己也会有一些性能损耗,所以xmake对此进行了深度优化,实现极速依赖检测:git
对依赖头文件进行过滤,若是是系统头文件,非自身项目的第三方头文件,自动忽略,这些头文件基本上不会再开发项目的时候,常常变更,因此不必去每次检测他们,若是真有变更,手动重建下就好了github
针对每一个头文件的检测结果进行缓存,直接应用到下一个源文件上,减小重复检测的次数macos
其余一些细节优化windows
验证效果:缓存
就拿tbox为例,我手动修改了下 tbox 中的正则头文件:regex.h
bash
而后编译(注:不是执行重建哦,那个是 xmake -r
)性能
xmake
编译结果:优化
[00%]: ccache compiling.release src/tbox/tbox.c [15%]: ccache compiling.release src/tbox/memory/impl/prefix.c [36%]: ccache compiling.release src/tbox/regex/regex.c [50%]: archiving.release libtbox.a ...
仅仅只编译了其中三个include了用到regex.h的源文件。ui
固然若是你修改了依赖的第三方库的头文件,最好仍是手动重建下:
xmake -r or xmake --rebuild