xmake增加自动头文件依赖检测支持

为了进一步提升构建效率,减少没必要的重建,xmake新增了对头文件的依赖检测,以及自动构建仅仅需要重新编译的源文件,提升编译速度,并且完全支持windows、linux、macosx等大部分平台。。

由于检测过程本身也会有一些性能损耗,因此xmake对此进行了深度优化,实现极速依赖检测:

  • 对依赖头文件进行过滤,如果是系统头文件,非自身项目的第三方头文件,自动忽略,这些头文件基本上不会再开发项目的时候,经常变动,所以没必要去每次检测他们,如果真有变动,手动重建下就行了

  • 针对每个头文件的检测结果进行缓存,直接应用到下一个源文件上,减少重复检测的次数

  • 其他一些细节优化

验证效果:

就拿tbox为例,我手动修改了下 tbox 中的正则头文件:regex.h

然后编译(注:不是执行重建哦,那个是 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的源文件。

当然如果你修改了依赖的第三方库的头文件,最好还是手动重建下:

xmake -r
or xmake --rebuild

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...