まずPKG_CONFIG_PATHにpackage.pc探し違いは
pkg_search_module(some_name REQURED package)
.PC拡張子で終わるパッケージの設定ファイルを探します
pkg_search_module()がある
次にfind_package()があります。
さらに3つのバージョンがあります。
list(APPEND CMAKE_PREFIX_PATH "/path/)
find_package(Package REQUIRED)
すべてと
set(Package_DIR "/path/")
find_package(Package REQUIRED)
およびその他の
find_package(Package HINTS "/path" REQUIRED)
と第三との一つは、PackageConfig.cmakeを探すか、またはパッケージconfig.cmake
、その後FindPackageがあります.cmake。
それらのすべてのライブラリーを返すには、含まれ、cmakeの中でコマンド
がFindPackage.cmake探し...変数などを発見しましたか?
私はコンセプトを正しく理解しましたか?
なぜこの複雑さですか?
重複に格納されていcorrespeonding:https://stackoverflow.com/questions/25959972/what-is-the-difference-between-find-package-and- pkg-search-moduleです。 pkg-configは他の2つのオプションのどれかと同じように移植性がありません。また、 '' find_package() ''の設定モードは、CMake対応のプロジェクトであり、FindModule(非CMakeプロジェクト用の 'find_package()'のモジュールモード)やpkg-config(これは多くのプラットフォームに存在します)。 – utopia
それは重複していません。私の質問は、FindPackage.cmakeファイルの重要性が分かります。 find_packageはPackageConfig.cmakeを探します。 – infoclogged