zoukankan      html  css  js  c++  java
  • GYP构建系统总结

    GYP,Generate Your Project,一个Google开源的构建系统,最开始用于Chromium项目,现在一些其他的开源项目也开始使用GYP,如v8和node-gyp。不管怎样,这仅仅是一个工具,本文直接把gyp的使用方法的说明一气呵成。

    特别之处

    在已经有很多的构建系统的情况下,gyp诞生的哲学或者说优点如下:

    1. 各平台使用各自主流的构建系统。
      • 程序员更熟悉自己的平台,减少学习成本。
      • 构建速度快。自己平台的主流构建系统的速度是各平台优化过的。
    2. 在一个平台上可以生成所有支持的平台的工程文件。
      • 如在mac上也可以生成Visual Studio工程,windows上也可以生成Xcode工程。
    3. 生成的工程文件和手工创建的工程文件没有区别
      • 这样,随时可以停止使用gyp。别人可以只使用相关工程文件而不使用gyp

    安装

    由于本文对chromium的编译是基于Windows做调试的,所以这里仅说明gyp在Windows下的使用。

    前提条件:本机需要安装python2.7,svn或git。

    要安装gyp首先得去克隆google官方维护的gyp的git仓库。在window上安装好git以后,开始克隆:

    这样就把gyp的远程git仓库克隆下来了,接下来就可以安装了。

    在windows上打开一个cmd(不能再上面的的git bash中操作),切换到gyp的根目录,输入下面命令开始安装,然后等待其安装完成:

    python setup.py install
    

    为了能够在整个系统的目录下都能够使用gyp,所以把gyp的目录添加到系统的环境变量中。我的添加目录为:

    PATH=C:Userszhaofaquangyp 
    

    至此gyp的安装和配置过程就结束了,这个工具就能使用了。


    使用

    1. 编写.gyp文件
    2. 运行gyp命令生成makefile、build.ninja文件或xcode、vs等工程
    3. 编译。根据第2步的结果,运行make、ninja或者在xcode、vs里编译

    举一个最简单的例子,源文件如下:

    #include <iostream>
    
    int main(int argc, const char* argv[]) 
    {
        std::cout << "Hello World!" << std::endl;
        return 0;
    }
    

    编写.gyp文件如下:

    {
      'targets': [
        {
          'target_name': 'main',
          'type': 'executable',
          'sources': [
            'main.cpp',
          ],
        },
      ],
    }
    

    在源文件目录下运行命令gyp --depth=. main.gyp,生成工程文件。打开生成的工程文件编译、运行即可。  

      

  • 相关阅读:
    Clouds
    docs
    虚拟化监控问题
    Openstack Ceilometer监控项扩展
    openStack ceilometer API
    sql分级汇总
    【Android归纳】阿里笔试题之Android网络优化
    享元模式
    【Hibernate步步为营】--核心对象+持久对象全析(三)
    Linux经常使用命令(三)
  • 原文地址:https://www.cnblogs.com/stemon/p/5345377.html
Copyright © 2011-2022 走看看