当前位置:  软件>C/C++软件

现代构建系统 Blade

    来源:    发布时间:2015-02-20

    本文导语:  Blade 是一个现代构建系统,期望的目标是强大而好用,把程序员从构建的繁琐中解放出来。 Blade主要定位于linux下的大型C++项目,密切配合研发流程,比如单元测试,持续集成,覆盖率统计等。但像unix下的文本过滤程序一 样,...

Blade 是一个现代构建系统,期望的目标是强大而好用,把程序员从构建的繁琐中解放出来。

Blade主要定位于linux下的大型C++项目,密切配合研发流程,比如单元测试,持续集成,覆盖率统计等。但像unix下的文本过滤程序一 样,保持相对的独立性,可以单独运行。目前重点支持i386/x86_64 Linux,未来可以考虑支持其他的类Unix系统。

为了解决 GNU Make,Autotools 的难用和繁琐的问题,我们开发了一个构建系统,整个 系统基于多个声明式的构建脚本,在构建脚本里,只需要声明要构建什么目标,目标的源 代码,以及其直接依赖的其他目标,不需要说明如何构建。

一行命令,编译连接单元测试就可以全部搞定。

特点:
  • 自动分析头文件依赖关系,构建受影响的代码。

  • 增量编译和链接,只构建因变更受影响而需要构建的。

  • 自动计算库的间接依赖,库的作者只需要写出直接依赖,构建时自动检查所依赖的库是否需要重新构建。

  • 在任意代码树的任意子目录下都能构建。

  • 支持一次递归构建多个目录下的所有目标,也支持只构建任意的特定的目标。

  • 无论构建什么目标,这些目标所依赖的目标也会被自动连坐更新。

  • 内置 debug/release 两种构建类型。

  • 彩色高亮构建过程中的错误信息。

  • 支持 ccache

  • 支持 distcc

  • 支持基于构建多平台目标

  • 支持构建时选择编译器(不同版本的gccclang等)

  • 支持编译 protobuflex, yacc, swig

  • 支持自定义规则

  • 支持测试,在命令行跑多个测试

  • 支持并行测试(多个测试进程并发运行)

  • 支持增量测试(无需重新运行的测试程序自动跳过)

  • 集成 gperftools,自动检测测试程序的内存泄露

  • 构建脚本 vim 语法高亮

  • svn 式的子命令命令行接口。

  • 支持 bash 命令行补全

  • 用 Python 编写,无需编译,直接安装使用。

彻底避免以下问题:

  • 头文件更新,受影响的模块没有重新构建。

  • 被依赖的库需要更新,而构建时没有被更新,比如某子目录依赖遥远的某外部目录的代码,我在这个目录构建,外部目录的代码会被自动检查是否也需要重新构建。


    
 
 

您可能感兴趣的文章:

  • 软件构建系统 ooRexx
  • 软件构建系统 BSDBuild
  • 软件构建和发布管理系统 Parabuild
  • 构建LINUX最小系统
  • 项目构建系统 Buildr
  • Android源码构建系统 Buck
  • 如何构建最小化的Linux系统?有亲手试过的来!!
  • 构建自动化系统 FAKE
  • 关于win2000 IIS + tomcat + servlet 的系统构建问题
  • 哪位大侠有《手把手教你构建自己的Linux系统》的光盘镜像发送到邮箱long7573@126.com
  • 用JSP构建营销业务系统,报表打印怎解决
  • 如何构建仅有apache+MYSQL+PHP的LINUX系统
  • 求助:busybox1.13.1构建的根文件系统,板子启动成功后不能telnet上去
  • 流构建系统 GulpJS
  • 技术讨论:高速公路收费系统项目用JAVA技术来构建适合吗?
  • Clang 自动化构建系统 ClangSetupvNext
  • 构建文件系统问题,初级,大家指教。
  • 300分相送!!构建一个最基本的b/s系统的所有步骤!!!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • docker应用之利用Docker构建自动化运维
  • 项目构建工具 Phing
  • ​Docker 容器数据管理,链接容器,构建私有库
  • 自动构建工具 Anthill
  • docker下通过Dockerfile指令构建镜像的指令选项介绍
  • 构建工具 Smooth Build
  • 关于构建器?!
  • 构建用户界面的 JavaScript 库 ReactJS
  • 快速构建网站模板 Pondasee
  • 构建用户界面的 JavaScript 库 ReactJS iis7站长之家
  • 元构建工具 BuildBoost
  • 如何在JB5下构建一个连接池?
  • PHP表单构建工具 FormBuilder
  • 嵌入式固件构建工具 Build Gear
  • C项目构建管理辅助工具 buildc
  • 项目构建工具 Remake
  • 源码构建工具 TMake
  • Qt构建工具 Qmake
  • 应用构建工具包 Ecere SDK
  • YUI 构建器 Shifter
  • Web应用构建平台 Meteor


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3