問題タブ [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.

0 投票する
1 に答える
148 参照

cmake - CMake 構成ファイルで二次的な依存関係を見つける

最新の CMake ガイドライン (たとえば、 https://www.slideshare.net/DanielPfeifer1/effective-cmake、特にスライド 46 を参照)に従ってPkgConfig.cmakePkg.

Pkgは に依存しFoo、 は に依存しBarます。どちらFooBar設定ファイルも持っていません - むしろ私はそれらを見つけるために使用FindFoo.cmakeしています。FindBar.cmake

私のPkgConfig.cmakeファイルは次のようになります

私の結果PkgTargets.cmakeは次のようになります

Pkg私の質問は、他のパッケージがプロジェクトにインポートされるのを避けるにはどうすればよいFooですBarか?

変数andまたはのいずれかを介してFooおよびパッケージの場所を再度指定する必要がある場合、推移的な依存関係を構築する目的を無効にしませんか?BarFoo_ROOTBar_ROOTCMAKE_PREFIX_PATH

私の Pkg は、それが見つかった場所を既に知っているので、それを解析/設定Foo_ROOTしてファイルBar_ROOTに入れる必要がありますか?PkgConfig.cmake

0 投票する
0 に答える
213 参照

c++ - cmake CMAKE_PREFIX_PATH が set() で機能しない

すべてのライブラリとインクルードを含む外部 SDK があります。

これを機能させるには、パスを設定する必要があるCMAKE_PREFIX_PATHため、次のように CMake ファイル内で変数を設定しようとしています。

しかし、何らかの理由で、 function を持つパッケージが見つからないため、期待どおりに機能しませんpkg_check_modules

一方、ターミナルに入って、このように CMake を呼び出します。すべて問題なく、意図したとおりに動作します。

これは私の CMake ファイルの一部です。

なぜこれが起こっているのか、CMakeファイルを修正して正しく動作させるにはどうすればよいのか説明していただけますか?