是否有用于在node-gyp中列出源的通配符机制

2024-01-02

我在写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(使用前将#替换为@)

是否有用于在node-gyp中列出源的通配符机制 的相关文章

  • 初学者 Apache URL 重写问题

    我只是想弄清楚我是否走在正确的道路上 如果能提供有关在我的示例中重写 URL 的其他详细信息 我们将不胜感激 我已经安装了 CMS 程序 并且只想将 www example com 指向 www example com cms 我只是想知道

随机推荐