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_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 2 3 4 5 |
'copies':[ {'destination':'./include', 'files':['headfile1.h','headfile2.h'], }, ] |
==>待整理