我在写binding.gyp
我的新 node.js 模块的文件。我的所有源文件都在下面src/
子目录。我想在构建模块时使用所有这些。我不想每次添加新的 cpp 文件时都修改 binding.gyp,而是想通过某种通配符机制列出所有 cpp 文件。 Node-gyp 支持吗?像下面这样的东西(这不起作用
{
'targets' : [
{
'target_name' : 'mymod',
'sources' : 'src/*.cpp'
}
]
}
我在看https://code.google.com/p/gyp/wiki/InputFormatReference https://code.google.com/p/gyp/wiki/InputFormatReference,但没有发现任何有用的东西。
弄清楚了
{
'targets' : [
{
'target_name' : 'mymod',
'sources' : [ '<!@(ls -1 src/*.cpp)' ],
}
]
}
查看这个链接 https://chromium.googlesource.com/external/gyp/+/md-pages/docs/InputFormatReference.md#Command-Expansions
Update
上述解决方案不可跨平台移植。这是一个便携式版本:
{
'targets' : [
{
'target_name' : 'mymod',
'sources' : [ "<!@(node -p \"require('fs').readdirSync('./src').map(f=>'src/'+f).join(' ')\")" ],
}
]
}
本质上它取代了平台特定的目录列表命令(ls
),通过使用节点的Javascript代码fs
模块列出目录内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)