本篇逐步说明binding.gpy常用字段,与字段含义。
同系列参考文章
binding.gpy文件模板
文件代码
{
"variables": {
# 变量部分:用于定义构建过程中使用的变量
# 这些变量可以在整个文件中被引用,以避免硬编码和重复
},
"includes": [
"../build/common.gypi"
# 包含部分:引用外部的 GYP 文件,将其内容包含到当前 GYP 文件中
# 这种方法可以重用公共配置,如通用变量、设置等
],
"target_defaults": {
# 目标默认值:定义构建目标的默认配置
# 这些配置会应用到所有的构建目标中,可以在具体目标中被覆盖
},
"targets": [
{
"target_name": "target_1",
# 构建目标 1 的配置
# target_name:目标名称,用于标识这个构建目标
},
{
"target_name": "target_2",
# 构建目标 2 的配置
# target_name:目标名称,用于标识这个构建目标
}
],
"conditions": [
["OS=='linux'", {
"targets": [
{
"target_name": "linux_target_3"
# 在 Linux 操作系统上特定的构建目标
# target_name:目标名称,用于标识这个构建目标
}
]
}],
["OS=='win'", {
"targets": [
{
"target_name": "windows_target_4"
# 在 Windows 操作系统上特定的构建目标
# target_name:目标名称,用于标识这个构建目标
}
]
}],
["OS=='mac'", {
"targets": [
{
"target_name": "macos_target_5"
# 在 macOS 操作系统上特定的构建目标
# target_name:目标名称,用于标识这个构建目标
}
]
}]
]
}
字段说明
- variables: 可以在文件的其他各个部分插入和使用的变量的定义。
- includes: 将包含在此文件中的其他文件的列表。
- target_defaults: 定义所有目标的默认配置,可以在每个目标中被覆盖。
- targets: 定义了两个基本目标 target_1 和 target_2。
- conditions: 根据操作系统定义不同的目标
binding.gpy可执行程序模板
文件代码
{
"targets": [
{
"target_name": "foo", # 构建目标的名称
"type": "executable", # 目标类型,这里指定为可执行文件
"msvs_guid": "5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65", # 在 Visual Studio 中的项目 GUID
"dependencies": [ # 目标的依赖项
"xyzzy", # 依赖的其他构建目标
"../bar/bar.gyp:bar", # 依赖于另一个 GYP 文件中的目标
],
"defines": [ # 预处理器定义
"DEFINE_FOO", # 定义宏 `DEFINE_FOO`
"DEFINE_A_VALUE=value", # 定义宏 `DEFINE_A_VALUE` 并赋值为 `value`
],
"include_dirs": [ #