17

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を見ましたが、すぐに役立つものは見つかりませんでした。

4

4 に答える 4

29

理解した

{
  'targets' : [
      {
          'target_name' : 'mymod',
          'sources' : [ '<!@(ls -1 src/*.cpp)' ],
      }
   ]
}

このリンクをチェックしてください

アップデート

上記のソリューションは、プラットフォーム間で移植できません。ポータブルバージョンは次のとおりです。

{
  'targets' : [
      {
          'target_name' : 'mymod',
          'sources' : [  "<!@(node -p \"require('fs').readdirSync('./src').map(f=>'src/'+f).join(' ')\")" ],
      }
   ]
}

基本的に、プラットフォーム固有のディレクトリ一覧表示コマンド ( ) を、ノードのモジュールをls使用してディレクトリの内容を一覧表示する Javascript コードに置き換えます。fs

于 2013-03-14T20:07:30.017 に答える