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,生成工程文件。打开生成的工程文件编译、运行即可。  

      

  • 相关阅读:
    OutputCache 缓存key的创建 CreateOutputCachedItemKey
    Asp.net Web Api源码调试
    asp.net mvc源码分析DefaultModelBinder 自定义的普通数据类型的绑定和验证
    Asp.net web Api源码分析HttpParameterBinding
    Asp.net web Api源码分析HttpRequestMessage的创建
    asp.net mvc源码分析ActionResult篇 RazorView.RenderView
    Asp.Net MVC 项目预编译 View
    Asp.net Web.config文件读取路径你真的清楚吗?
    asp.net 动态创建TextBox控件 如何加载状态信息
    asp.net mvc源码分析BeginForm方法 和ClientValidationEnabled 属性
  • 原文地址:https://www.cnblogs.com/stemon/p/5345377.html
Copyright © 2011-2022 走看看