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 2 3 |
'source': [ '<!@(ls -l ./*.h)', ] |
常用配置项
defines宏定义 ,对应-D,如-D_DEBUGinclude_dirs头文件地址, 对应-Icflags编译选项, 如-g -O3ldflags链接选项, 对应-l,如-lpthread -lsqlite3type目标类型 有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 2 3 4 5 |
'copies':[ {'destination':'./include', 'files':['headfile1.h','headfile2.h'], }, ] |
==>待整理