保存
×

GYP在NodeJS,V8,chromium等项目都有广泛的运用,学习GYP便于后续对NodeJS扩展的开发。

参考文档:

GYP的书写规范

GYP文件的内容其实是Python中的字典,支持单引号和双引号,最后一个元素末尾也允许添加。因此它不是严格的JSON。

GYP格式

GYP文件的顶层可以分成五个key:

  1. 'variables'
  2. 'includes',需要被引用的文件列表,带有.gypi后缀
  3. 'target_defaults',该文件内所有targets属性的默认设置。
  4. 'targets',该gyp文件构建输出的目标位置的列表,每个targets包含了描述生成目标所必须的的信息
  5. 'conditions',能修改该gyp定义的全局字典内容的条件定义列表。比如添加和平台相关的目标文件。

target部分

  1. target_name
  2. type
  3. msvs_guid
  4. dependencies,列出该target依赖的其他target,确保其他target比该target先构建
  5. defines,C预定义(相当于-D参数)
  6. include_dirs,头文件所在的位置(相当于-I)
  7. `conditions,条件代码块,用于制定不同平台下target的不同设置