linux安装和部署blade构建

2019-06-12  本文已影响0人  小pb

blade 是腾讯开发的一款现代构建系统,期望的目标是强大而好用,把程序员从构建的繁琐中解放出来。
Blade主要定位于linux下的大型C++项目,密切配合研发流程,比如单元测试,持续集成,覆盖率统计等。 但像unix下的文本过滤程序一样,保持相对的独立性,可以单独运行。目前重点支持i386/x86_64 Linux,未来可以考虑支持其他的类Unix系统。

这个是blade 开源项目中文章给出的官方解释。在我看来,blade最初的目的是服务于c++项目的,所以其实是为了简化makefile中繁琐的语法和依赖问题。

为了让自己的代码也可以使用到blade 构建,需要先部署安装。

blade的官方地址: https://github.com/chen3feng/blade-build

  1. 安装git和升级git版本

     yum install git
     yum update git
    

根据blade 的官方用户手册安装其依赖:
https://github.com/chen3feng/blade-build/blob/master/doc/blade_user_manual.pdf

  1. 安装scons

    yum install scons
    
  2. 安装ccache

    yum install ccache
    
  3. 安装 distcc

    yum install distcc
    
  4. 安装svn

    yum install  subversion
    
  5. 安装 cmake

     yum install   cmake
    
  6. 安装curl

    yum install curl
    
  7. python ,gcc一般系统自带,但是要编译的c++的文件,需要安装g++

    yum install g++
    一般编译完了会缺少一些库文件,
    

安装完成。
测试下是否安装成功。
建一个空文件夹:

    [pb@VM_16_3_centos workspace]$ ls
     blade-build   cpp

将blade-build的文件拷贝到workspace 目录。
在cpp文件夹写一个测试程序

写一个c++的程序:

    #include <iostream>

    int main(int argc, char* argv[]) {
        std::cout << "hello, world!" << std::endl;
        return 0;
    }

在当前文件中写一个BUILD 文件:

cc_binary (
  name = 'main',
  srcs = 'main.cpp',
)

在workspace 目录下touch BLADE_ROOT 文件。

这个很重要,blade 是根据BLADE_ROOT文件来 判断哪个是代码的根路径的,比如你引入自己的头文件的时候,可以从BLADE_ROOT 下开始写 #include 文件。
所有就绪后,使用

  blade build 

验证是否可以编译过

    [pb@VM_16_3_centos cpp]$ ls
    BUILD  main.cpp
    [pb@VM_16_3_centos cpp]$ 
    [pb@VM_16_3_centos cpp]$ 
    [pb@VM_16_3_centos cpp]$ ../blade-build/blade build 
    Blade: Entering directory `/home/pb/workspace'
    Blade(info): loading config file "/home/pb/workspace/blade-build/blade.conf"
    Blade(info): loading config file "/home/pb/workspace/BLADE_ROOT"
    Blade(info): loading BUILDs...
    Blade(info): loading done.
    Blade(info): analyzing dependency graph...
    Blade(info): analyzing done.
    Blade(info): generating build rules...
    Blade(warning): Unsupported C/C++ flags: -Werror=format-nonliteral
    Blade(info): generating done.
    Blade(info): building...
    Blade(info): tunes the parallel jobs number(-j N) to be 2
    scons: Reading SConscript files ...
    Blade(warning): Failed to get version control info in cpp
    scons: done reading SConscript files.
    scons: Building targets ...
    scons: building associated VariantDir targets: build64_release
    cc1plus: warning: thirdparty: No such file or directory [enabled by default]
    scons: done building targets.se/cpp/main
    Blade(info): building done.
    [pb@VM_16_3_centos cpp]$ ../build64_release/cpp/main
    hello, world!
    [pb@VM_16_3_centos cpp]$

安装,部署完成!!!

上一篇下一篇

猜你喜欢

热点阅读