在linux平台,之前makefile,cmake.... 各类难用和繁琐python
blade 听说是腾讯搞出来的,好吧还不错,企鹅继续加油! 采用python开发的。linux
首先,Blade解决了依赖问题。 当你在构建某些目标时,头文件有变化,会自动从新构建。 最方便的是,Blade也能追踪库文件的依赖关系。好比 库 foo 依赖库 common,那么在库 foo 的 BUILD 文件中列入依赖:vim
cc_library(
bash
name
=
'foo'
,
srcs
=
...
deps
=
':common'
)
那么对于使用foo的程序,若是没有直接用到common,那么久只须要列出foo,并不须要列出common。并发
cc_binary(
app
name
=
'my_app'
,
srcs
=
...
deps
=
':foo'
)
这样当你的库实现发生变化,增长或者减小库时,并不须要通知库的用户一块儿改动,Blade自动维护这层间接的依赖关系。当构建my_app时,也会自动检查foo和common是否也须要更新。svn
说道易用性,除了依赖关系的自动维护,Blade还能够作到,只要一行命令,就能把整个目录树的编译链接单元测试就能够所有搞定。例如:单元测试
递归构建和测试common目录下全部的目标测试
$ blade test common...
以32位模式构建和测试spa
$ blade test -m32 common...
以调试模式构建和测试
$ blade test -pdebug common...
显然,你能够组合这些标志
$ blade test -m32 -pdebug common...
完全避免如下问题: