我可以在gyp中使用环境变量吗?

时间:2015-08-18 11:55:14

标签: gyp

我对gyp完全不熟悉,所以请原谅任何关于这个问题的无知 - 我正在尝试将一个使用gyp的项目整合到make生成的更大环境中。有问题的.gyp文件有一个C文件的-L选项,它指向一个硬编码目录。我想将其更改为指向基于父项目的makefile中的变量集的目录 在构建项目之前,我可以使用sed来搜索和替换字符串,但这看起来很混乱。我想知道是否可以从gyp文件中访问环境变量?

2 个答案:

答案 0 :(得分:5)

是的,您可以使用shell命令,例如:

...

    'include_dirs': [
        '<!(echo %OPENSSL_DIR%)/include',
        '<!(echo %BOOST_DIR%)',
        '<!(echo %SQLITE_DIR%)',
    ],

...

(此语法适用于Windows,适用于Linux在env vars中使用$,如echo $OPENSSL_DIR)。

答案 1 :(得分:4)

对于跨平台定义,请使用'conditions'指令

validateForm

有关详细信息,请参阅Variable ExpansionsConditionals