ドキュメントでこれを言及しないことを選択したにもかかわらず、file(GLOB ...)
とfile(GLOB_RECURSE ...)
は現在のソースディレクトリでしか動作しないように見えます。異なるディレクトリをglobする方法はありますか?CMakeの別のディレクトリでファイルグロブを使用する方法
答えて
file(GLOB)
最初はちょっと混乱するかもしれませんが、数ヶ月前に同様の問題がありました。
あなたは<globbing-expressions>
で直接あなたのパスを指定する必要があります。たとえば
file(GLOB <variable>
[LIST_DIRECTORIES true|false] [RELATIVE <path>]
[<globbing-expressions>...])
:
file(GLOB my_cpp_list "${CMAKE_CURRENT_SOURCE_DIR}/directory/*.cpp")
foreach(file_path ${my_cpp_list})
message(${file_path})
endforeach()
が${CMAKE_CURRENT_SOURCE_DIR}/directory
内のすべてのの.cppファイルのパスを出力します。
'CMAKE_CURRENT_SOURCE_DIR'のサブディレクトリではないディレクトリでこれをテストしましたか? –
はい、うまくいきます: 'file(GLOB my_cpp_list" $ {CMAKE_CURRENT_SOURCE_DIR} /../ test/*。cpp ")' – Blabdouze
私が指定したパスに関係なく、CMAKE_CURRENT_SOURCE_DIRからグロブを取得するのと同じ問題が発生しました。問題は、私がGLOBに提供していたパスが有効ではなく、CMAKE_CURRENT_SOURCE_DIRに戻っていたことです。たとえば、次のいずれかの症状が表示されます。
file(GLOB my_cpp_list "${CMAKE_CURRENT_SOURCE_DIR}/directory *.cpp")
"/"の後に "directory"を忘れてしまいました。これが有効なディレクトリ名でも有効な結果を得られなかった理由です。
file(GLOB my_cpp_list "${CMAKE_CURRENT_SOURCE_DIR}/directoryy/*.cpp")
「directoryy」鐘を皮しない
- 1. MacOSでCMakeを使用して複数のRPATHディレクトリを設定する方法
- 2. cmakeでFIND_JNIを使用する方法
- 3. CMake:特定のファイル拡張子のみを別のディレクトリにコピーする方法
- 4. ライブラリの特定のディレクトリでcmakeをポイントする方法は?
- 5. CMake: "srcディレクトリ"内の.cppファイルを見つける方法?
- 6. CMake/CPack:zipファイルの最上位ディレクトリを避ける方法
- 7. 異なるIDEを使用して別々のディレクトリに#includeする方法は?
- 8. CMakeでVC++モジュールを使用する方法
- 9. CMakeプロジェクトで外部DLLを使用する方法
- 10. jmeterを使用して同じFTP内のあるディレクトリから別のディレクトリにファイルを移動する方法
- 11. Androidのネイティブコードを使用して、あるディレクトリから別のディレクトリにファイルをコピーする方法は?
- 12. ディレクトリからファイルを別のディレクトリにコピーする方法
- 13. Cmake:インクルードパスのディレクトリを構築する
- 14. CMake:デバッグビルドに別のADD_EXECUTABLEを使用するには?
- 15. Visual Studio 2017 RC CMakeプロジェクトの作業ディレクトリの設定方法
- 16. cmakeとtesseract、cmakeを使ってリンクする方法
- 17. cmakeが使用するビルドディレクトリとは別のディレクトリからctestを実行しますか?
- 18. CMakeが別のバージョンのlibを見つける方法は?
- 19. 別のブラウザで別のテンプレートを使用する方法
- 20. cmakeを使用して、external_project文で作成されたオブジェクトファイルを別のライブラリにリンクする方法は?
- 21. Cmake/Kdevelopでのライブラリの使用方法/ include
- 22. CMake:特定のビルド構成のディレクトリを除外する方法は?
- 23. 別の方法String.Splitを使用する
- 24. GWT UIbinder oneを別の方法で使用する方法
- 25. テスト実行ファイルをCMakeを使って別のフォルダに入れる方法は?
- 26. CMakeを使用してファイルを整理する方法は?
- 27. CMakeの別のディレクトリから実行可能ファイルを参照するには?
- 28. CMake - プロジェクト外のディレクトリを含める
- 29. Unixでディレクトリを検索して別のディレクトリにコピーする方法
- 30. CMakeのプロジェクト名としてディレクトリを自動的に使用する
という名前のサブフォルダはありません。あなたは[mcve]を与えてもらえますか? – Florian