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构建系统总结

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

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

python setup.py install

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

PATH=C:\Users\zhaofaquan\gyp 

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

  

上一篇:LCD参数解释及计算【转】


下一篇:iOS谋职之OC面试题