![How to Manage Dependencies in CMake: Libraries Within the Project vs. Separate Projects?](https://img.php.cn/upload/article/000/000/000/173079720694858.jpg)
CMake の依存関係: ソース、ライブラリ、および CMakeLists.txt の関係の確立
はじめに
ソースファイル、ライブラリ、およびライブラリ間の依存関係の管理CMakeLists.txt ファイルは、複雑な CMake プロジェクトを構築するために重要です。これらの依存関係を効果的に整理するために、CMake では次のメソッドが一般的に利用されます。
方法 1: アプリケーション プロジェクト内にライブラリを構築する
-
利点:
- よりシンプルプロジェクト内の依存関係管理。
- ライブラリは IDE プロジェクトですぐに利用できます。
-
手順:
- アプリケーション内にライブラリのサブディレクトリを追加しますCMakeLists.txt.
- target_link_libraries() を使用してターゲットの依存関係を指定します。
- インクルード ディレクトリおよびその他の関連情報を含む「フル機能の」ライブラリ ターゲットを作成します。
方法 2: ライブラリを構築し、個別のプロジェクトとしてインストール
-
利点:
- アプリケーションからライブラリを明確に分離します。
- ライブラリは複数のプロジェクトで使用できます。
-
手順:
- 別の CMake プロジェクトでライブラリをビルドしてインストールします。
- 使用アプリケーションの CMakeLists.txt 内の find_package() を使用して、インストールされている場所を見つけます
- 構成モジュールを使用してライブラリ属性を記述します。
ディスカッション
方法 1 が推奨されますライブラリは積極的に開発中であり、頻繁に変更されます。方法 2 は、開発が活発ではない安定したサードパーティ ライブラリに適しています。
追加の考慮事項
- これら 2 つの方法は、必要に応じて組み合わせることができます。プロジェクトの要件。
- ExternalProject モジュールは、外部ライブラリの処理にも使用できます。
- import() コマンドを使用すると、外部プロジェクトにビルドされたライブラリをインストールせずにアクセスできます。
以上がCMake で依存関係を管理する方法: プロジェクト内のライブラリと個別のプロジェクト?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。