
CONAN CおよびC ++パッケージマネージャーのCmake依存関係プロバイダー。
cmake-conanの推奨生産バージョンです。 |
|---|
Cmake依存関係プロバイダーを使用したCONAN 2のこのdevelop2 Branchにおけるcmake-conan統合は、1.0としてリリースされていなくても、コナン1のレガシーcmake-conanよりも安定したdevelop2対応でcmake-conanされています。 |
前提条件:
conanfile.txtまたはconanfile.pyを含むcmakeベースのプロジェクト。まず、 develop2ブランチでこのリポジトリをクローンします。
git clone https://github.com/conan-io/cmake-conan.git -b develop2このリポジトリには、 fmtに依存するプロジェクトの例を備えたCMakeLists.txtが含まれています。
cd cmake-conan/example
mkdir build
cmake -B build -S . -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=../conan_provider.cmake -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Releaseプロジェクトのルートにconanfile.txtまたはconanfile.pyを配置して、要件をリストしてください。例については、conanfile.txtを確認するか、 conanfile :.txt docs、.py DocsのConanドキュメントを確認してください。
最初にcmakeを呼び出してプロジェクトを構成する場合は、pass -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=[path-to-cmake-conan]/conan_provider.cmake 。これにより、 conan installがCmake内から呼び出されることが保証されます。この統合では、 CMakeLists.txtスクリプトに変更を加える必要はありません。
cd [your-project]
mkdir build
cmake -B build -S . -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=[path-to-cmake-conan]/conan_provider.cmake -DCMAKE_BUILD_TYPE=ReleaseCMakeDepsジェネレーターのみが指定されています - それ以外の場合はCMakeToolchainによって提供されるビルド設定(たとえば、コンパイラ自体やその他のグローバルビルド設定など)は、ドキュメントに従ってコナンを個別に呼び出してください。find_packageへの呼び出しを満たすことができるように機能します。 find_packageの外側にロジックを持つ依存関係の場合、たとえば、 find_program 、 find_library 、 find_path 、またはfind_fileに直接呼び出して、これらは正しく機能しない場合があります。CMAKE_BUILD_TYPEを指定する必要があります(空白のままにすることはできません)Cmake-Conan依存関係プロバイダーは、CMakeが現在のビルドで検出したものから設定( os 、 arch 、 compiler 、 build_type )が取得されるコナンプロファイルを作成します。コナンは、ホストとビルドプロファイルの依存関係に2つのプロファイルを使用しています。これらの詳細については、こちらをご覧ください。 cmake-conanでは、デフォルトの動作は次のとおりです。
defaultコナンプロファイルに戻ります。defaultコナンプロファイル。上記が機能するには、 defaultプロファイルが既に存在する必要があることに注意してください。そうでない場合、 cmake-conanシステムのデフォルトを推測しようとするConanの自動検出メカニズムを呼び出します。
プロファイルをカスタマイズする必要がある場合は、 CONAN_HOST_PROFILEとCONAN_BUILD_PROFILEの値を変更し、CMAKEキャッシュ変数として渡すことでそうすることができます。いくつかの例:
-DCONAN_HOST_PROFILE="default;auto-cmake" :上記のように自動検出を実行し、他のすべてのデフォルトプロファイルにフォールバックします(デフォルトの動作)。-DCONAN_HOST_PROFILE=clang16 :自動検出を実行せず、Conan Profilesフォルダーに存在する必要があるclang16プロファイルを使用します(Docsを参照)-DCONAN_BUILD_PROFILE="/path/to/profile" :あるいは、ファイルシステムのどこにでもあるプロファイルファイルへのパスを提供します。-DCONAN_HOST_PROFILE="default;custom" :セミコロン分離プロファイルのリスト。複合プロファイルが使用されます(ドキュメントを参照) - 左から右に濃縮され、右が最優先事項です。cmake-conan依存関係プロバイダーは、上記のようにプロファイル情報を自動化および渡します。 conan installコマンドの呼び出しをさらにカスタマイズする必要がある場合、 CONAN_INSTALL_ARGS変数を使用できます。
CONAN_INSTALL_ARGS 、渡すように初期化されています--build=missing 。この変数をカスタマイズする場合は、 --buildフラグを指定しない限り、コナンがデフォルトの動作に戻ることに注意してください。conanfile.txt|.pyへのパスと出力形式( --format format)。--build=never;--update;--lockfile-out='' いくつかのテストがあります。たとえば、Pytestを使用してPythonで実行できます。
$ pytest -rA