私はCMakeを初めて使用し、非常に「一般的な」タスクを達成したいと考えています。今までは、自動生成された makefile で Eclipse CDT を使用していました。A と B の 2 つのプロジェクトがあるとします。A は静的ライブラリを構築し、B はこのライブラリを必要とします。もちろん、B をビルドするときは、A によってビルドされた静的ライブラリが最新であることを確認したいと考えています。したがって、プロジェクト B のビルドは、A のソースに変更が加えられた場合に A のビルドをトリガーする必要があります。これは、A を B の依存関係として単純に挿入する場合の Eclipse のデフォルトの動作です。
では、CMake でこれを実現する最も簡単な方法は何ですか? いくつかのチュートリアルや同様の質問を読みましたが、満足のいく答えはありませんでした。
たとえば、解決策になるhttp://www.cmake.org/Wiki/CMake/Tutorials/Exporting_and_Importing_Targetsチュートリアルがあります。ただし、このような簡単な作業にはかなり複雑に思えます。A のターゲットを「インストール」する必要がありますが、何もインストールしたくありません。B を A に依存させたいだけです。次に、ExternalProject_add について聞きましたが、それを処理する方法もわかりません。