存档

2017年8月 的存档

gyp 使用参考

2017/08/11 4,747

gyp 官网

Generate Your ProjectsGenerate Your Projects (可能需要梯子)

gyp 命令

  • --depth 据说是Chromium历史遗留问题,需要设置为 --depth=.
  • -f 指定生成工程文件的类型,选项有: make ninja xcode msvs scons
  • -G 指定 vs 版本 msvs_version=2013
  • -D 传入变量到 gyp。传入的变量可以在gyp内使用 <(VAR) 获取
  • --toplevel-dir 设置源代码的根目录,默认为depth设置的目录

执行 shell 命令

gyp 可以将 shell 命令的结果返回给变量,语法为 <!(cmd)<!@(cmd) ,前者返回 string ,后者返回 list.
如使用 ls 命令在 source 中添加所有的 .h 文件 :

常用配置项

  • defines 宏定义 ,对应 -D ,如 -D_DEBUG
  • include_dirs 头文件地址, 对应 -I
  • cflags 编译选项, 如 -g -O3
  • ldflags 链接选项, 对应 -l ,如 -lpthread -lsqlite3
  • type 目标类型 有 executable ,static_library ,shared_library

变量

变量分为两类,预定义变量、自定义变量

预定义变量

这些变量名称为gyp内置,一般为 大写或(或)下划线 组成:

  • OS 操作系统,如 OS == "win"
  • EXECUTABLE_PREFIX 可执行文件的前缀
  • EXECUTABLE_SUFFIX 可执行文件的后缀
  • PRODUCT_DIR 编译出的目标文件的目录
  • INTERMEDIATE_DIR 中间文件目录(只对单一 target 有效)

自定义变量

variables 用于自定义变量。自定义的变量可以使用以下方式使用:

  • <(VAR) 变量
  • <@(VAR) 列表变量

继续阅读