gyp 使用参考
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 文件 :
1 | 'source': [ |
常用配置项
-
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)列表变量
文件拷贝
copies 提供文件拷贝功能,其结构中需要使用两个字段:
-
destination目标路径。如果目标文件夹不存在,gyp会自动创建一个 -
files源文件列表
1 | 'copies':[ |
==>待整理