cmakeのでは、find_package(SomePackage)
機能はFind<SomePackage>.cmake
を実行します。多くの場合、Find<SomePackage>.cmake
はcmakeインストールに含まれています。そうでない場合は、そのファイルをプロジェクト構造に追加し、そのファイルのパスをCMAKE_MODULE_PATHに追加する必要があります。
私はthisを見つけるために、迅速な検索をしました。その場合には、これはあなたがそれを使用したい方法です:
find_package(Hana)
if (${Hana_FOUND})
include_directories(${Hana_INCLUDE_DIRS})
endif()
${Hana_FOUND}
がスクリプトによって設定されていない場合、あなたはスクリプトにそれを見つける場所についてのよりよいヒントを与えるためにHana_ROOT
またはHana_INSTALL_PREFIX
を設定することができます。
ブーストとも言います。ブーストはわずかに異なり、FindHana
を使用しません。ブーストはそれ自身のモンスターですが、ブーストを見つけるためのドキュメントがありますhere。ブースト::花の場合は、あなたはとてもようFindBoost
を使用したい:あなたは問題がある場合
find_package(Boost)
if (${Boost_FOUND})
include_directories(${Boost_INCLUDE_DIRS})
endif()
、あなたはcmakeのは、インストールを見つけることBOOST_INCLUDEDIR
とBOOST_ROOT
を設定してみてください。
make installを実行せずにCMakeとfind_package(Hana)を使用することはできますか?CMAKE_MODULE_PATHに私が最も関心を持っているのを追加する考えです。 – dabyly
いいえ、 'make install'は' HanaConfig.cmake'ファイルを置く場所で、 'find_package'が探すものです。つまり、システム全体の場所にHanaをインストールする必要があるわけではありません。あなたは問題なくHanaをローカルにインストールし、正しい 'CMAKE_PREFIX_PATH'を渡すことができます。例えば、[dyno](https://github.com/ldionne/dyno)を参照してください。このコメントとこのリンクの間には –
がありました。 https://blogs.kde.org/2008/12/12/how-get-cmake-find-what-you-want-it – dabyly