40

特定のディレクトリを再帰的にスキャンしてソースファイルのリストを決定するようにCMakeを設定するにはどうすればよいですか?

私のプロジェクトは共有ライブラリです。私はこれに似たフォルダ構造を持っています:

/
  src/              # Source files in an arbitrary tree
  include/          # Headers, tree mirrors that of the src/ folder
  examples/         # Executable code examples that link against the library
  CMakeLists.txt

ディレクトリ構造に関係なく、 CMakeでプロジェクト内のソースファイルとヘッダーファイルのリストを再帰的にスキャンsrcして決定する必要があります。include私も避けたい:

  • src/include/ディレクトリを無限のCMakeLists.txtファイルで汚染する
  • フォルダ構造を変更するたびにスクリプトを変更して調整する必要があります

ただし、各例に独自のビルドスクリプトを設定することは問題ありません。

4

1 に答える 1

43

CMake は、再帰的なファイル グロビング用に次のコマンドを提供します。

file(GLOB_RECURSE variable [RELATIVE path] 
   [FOLLOW_SYMLINKS] [globbing expressions]...)

コマンドのドキュメント: http://www.cmake.org/cmake/help/v2.8.8/cmake.html#command:file

于 2012-03-16T23:23:03.747 に答える