在GYP解析器之外将用户定义的变量添加到GYP

时间:2016-10-11 15:23:23

标签: gyp

我想在我的.gpy文件中添加一个变量,但我不想在.gyp文件中定义它,但在外面。通常,变量在gyp字典中设置,然后可以在此文件或从属文件中使用。但是,我想在gyp之外设置变量,以便所有解析的gyp文件都可以使用它,而不会在其中任何一个中进行硬编码。我正在使用Windows,这是我尝试过的

启动流程的批处理文件

set GYP_MSVS_VERSION=2015
set GYP_DEFINES="TOOLSET=v140"
gclient --runhooks

如何在从上面的gclient解析的.gyp文件中使用TOOLSET --runhooks

'msbuild_toolset': TOOLSET,

Gyp输出:

NameError: name 'TOOLSET' is not defined while reading test.gyp

知道如何让这个工作吗? 感谢

1 个答案:

答案 0 :(得分:1)

您可以通过两种方式定义gyp之外的变量:

  • 使用GYP_DEFINES environement变量
  • 通过使用-D标志(例如gyp build -DTOLLSET=v140 file.gyp)来调用gyp时提供变量

然后在您的gyp文件中,可以使用<(TOOLSET)将变量用作常规变量,请参阅gyp Variable Expansions documentation以获取更多信息