問題タブ [cmake-modules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cmake - CMake 構成ファイルで二次的な依存関係を見つける
最新の CMake ガイドライン (たとえば、 https://www.slideshare.net/DanielPfeifer1/effective-cmake、特にスライド 46 を参照)に従ってPkgConfig.cmake
、Pkg
.
Pkg
は に依存しFoo
、 は に依存しBar
ます。どちらFoo
もBar
設定ファイルも持っていません - むしろ私はそれらを見つけるために使用FindFoo.cmake
しています。FindBar.cmake
私のPkgConfig.cmake
ファイルは次のようになります
私の結果PkgTargets.cmake
は次のようになります
Pkg
私の質問は、他のパッケージがプロジェクトにインポートされるのを避けるにはどうすればよいFoo
ですBar
か?
変数andまたはのいずれかを介してFoo
およびパッケージの場所を再度指定する必要がある場合、推移的な依存関係を構築する目的を無効にしませんか?Bar
Foo_ROOT
Bar_ROOT
CMAKE_PREFIX_PATH
私の Pkg は、それが見つかった場所を既に知っているので、それを解析/設定Foo_ROOT
してファイルBar_ROOT
に入れる必要がありますか?PkgConfig.cmake
c++ - cmake CMAKE_PREFIX_PATH が set() で機能しない
すべてのライブラリとインクルードを含む外部 SDK があります。
これを機能させるには、パスを設定する必要があるCMAKE_PREFIX_PATH
ため、次のように CMake ファイル内で変数を設定しようとしています。
しかし、何らかの理由で、 function を持つパッケージが見つからないため、期待どおりに機能しませんpkg_check_modules
。
一方、ターミナルに入って、このように CMake を呼び出します。すべて問題なく、意図したとおりに動作します。
これは私の CMake ファイルの一部です。
なぜこれが起こっているのか、CMakeファイルを修正して正しく動作させるにはどうすればよいのか説明していただけますか?