私はこれを読んだところです:
CMake-フォルダー内のすべてのファイルを自動的にターゲットに追加しますか?
答えはファイルグロブを示唆しています、例えば:
file(GLOB "*.h" "*.cpp")
ここで、ターゲットを特定のフォルダーの下にある特定のタイプのすべてのファイルに依存させたい場合はどうなるでしょうか。複数のサブフォルダー内にある可能性があります。使ってみた
execute_process(COMMAND find src/baz/ -name "*.cpp" OUTPUT_VARIABLE BAR)
その後
add_executable(foo ${BAR}
しかし、これは私にエラーを与えます:
ソースファイルが見つかりません:
src/baz/some/file/here
src/baz/some/other_file/here
src/baz/some/other_file/here2
(はい、その間隔で。)
ここで何が悪いのですか?
コメントを回答に変える
ファイルの再帰的な検索を追加する場合は、file(GLOB_RECURSE ...)
を使用します
_file(GLOB_RECURSE source_list "*.cpp" "*.hpp")
_
2番目の例は次のようになります。
_file(GLOB_RECURSE BAR "src/baz/*.cpp")
_
参照