が存在する場合、私はCMakeのに新たなんだと私は私のルートCMakeLists.txtでこれを実行しようとしました確認してくださいOFF
ステータス。 CMakeでより高いレベルのディレクトリをチェックすることは可能ですか?または間接的な方法でそれをやっているかもしれませんCMakeのは、より高いレベルのディレクトリが
答えて
${PROJECT_SOURCE_DIR}
の後に/
が足りないと思います。完全にアウト
ここで私は、この(if (EXISTS ...)
は、完全なパスを必要としていることに注意してください)に使用するコードです(「ガードいったん追加」を含む)私の拡張add_subdirectory()
バージョン内部
get_filename_component(_fullpath "${_dir}" REALPATH)
if (EXISTS "${_fullpath}" AND EXISTS "${_fullpath}/CMakeLists.txt")
...
そして、ここで:
はfunction(my_add_subdirectory _dir)
get_filename_component(_fullpath "${_dir}" REALPATH)
if (EXISTS "${_fullpath}" AND EXISTS "${_fullpath}/CMakeLists.txt")
get_property(_included_dirs GLOBAL PROPERTY GlobalAddSubdirectoryOnceIncluded)
list(FIND _included_dirs "${_fullpath}" _used_index)
if (${_used_index} EQUAL -1)
set_property(GLOBAL APPEND PROPERTY GlobalAddSubdirectoryOnceIncluded "${_fullpath}")
add_subdirectory(${_dir} ${ARGN})
endif()
else()
message(WARNING "my_add_subdirectory: Can't find ${_fullpath}/CMakeLists.txt")
endif()
endfunction(my_add_subdirectory)
完全なパスでは、私は/ Users/Me/My_Projectのようなものを意味すると仮定しているので、移植性が損なわれますか? – JonOsterman
@JonOstermanいいえ、私は '$ {CMAKE_CURRENT_SOURCE_DIR}'のような接頭辞を付けなければならないということです。 'if(EXISTS ...'は未定義の振る舞いを持っています) – Florian
ありがとう、それは働いた – JonOsterman
- 1. より高いまたは低いレベル?
- 2. Xuggler用のより高いレベルのAPIはありますか?
- 3. Task.Factory.StartNew「アクション」の引数と、より高いレベルのローカル変数
- 4. より高いレベルのjavascriptイベントをテストする
- 5. アクセス親コントローラn個のレベルが高い
- 6. cmake link xlibディレクトリC++
- 7. CMakeを使ったQt:ui_mainwindow.h:そのようなファイルやディレクトリはありません
- 8. ソフトウェアでより高いレベルのクローンを検出するためのデータマイニング手法
- 9. 種の中でより高いレベルのエントロピーを作成する方法
- 10. 抽象レベルLinqまたはラムダ式の方が高い
- 11. Cmakeにはディレクトリが含まれています
- 12. cmakeは変数がディレクトリだと思っています
- 13. CMake:サブディレクトリからインクルードするディレクトリがありません
- 14. オブジェクト - CMISモデルマッパー/他のより高いレベルの抽象化を構築する努力はありますか?
- 15. センサ値の高レベルAPIピッチアンドロール
- 16. のOracle SQL - 最高レベル
- 17. デザインドキュメント(高レベルおよび低レベルデザインドキュメント)
- 18. テーブルビュープロトタイプセルが他のセルよりも高い
- 19. インスタントメッセンジャーに低レベルまたは高レベルのプロトコルを使用する必要がありますか?
- 20. 高レベル言語と低レベル言語?
- 21. Cmake:インクルードパスのディレクトリを構築する
- 22. CMake - プロジェクト外のディレクトリを含める
- 23. squeak/pharoにはどのような高レベルのネットワークオブジェクト渡し機能がありますか?
- 24. .htaccessファイルまたは第2レベルのディレクトリが存在しない場合のリダイレクト
- 25. アンドロイドABIレベル15のQtモバイルアンドロイドビルドエラーですが、より高いABIで動作します
- 26. どのようにImpersonateLoggedOnUserサービスを持っていますが、必須の整合性レベルは高いですか?
- 27. レベルが足りない要因のrbindlist
- 28. LDA精度は元のデータセットよりもデータセットの方が高い
- 29. エミュレータがAPIより下のレベルで起動しない22
- 30. 1レベル下のディレクトリに移動
'add_subdirectory()'を使用できるかどうか確認するには、これが必要ですか? – Florian
はい、私は後でやるがそれが目的だよ。 – JonOsterman
オッケー、そうだと思った。私の答えに私のバージョンを加えました。 – Florian