私はCMakeをC++リポジトリ用に少し実験していますが、同じソースツリーのライブラリに対してアプリケーションをたくさん作成することなく簡単にアプリケーションを構築しようとしています追加のCMakeコード。には、cmakeのライブラリ依存関係のヘッダが簡単に含まれています
ソースツリーのレイアウトは基本的に次のようである:
ROOT
libs/
lib1/
lib2/
lib3/
apps/
app1/
app2/
app3/
ライブラリーは、互いに独立しており、アプリケーションは、ライブラリーの一つ以上をリンクすることができます。
現在、私は、各アプリケーションとライブラリをサブディレクトリとしてリストするルートCMakeLists.txtを持っています。そのため、ライブラリが変更され、アプリケーションが再構築された場合、ライブラリも再構築されます。これはうまく動作し、CMakeはライブラリがどこにあるのか指定することなくそれをリンクしますが、インクルードディレクトリに似たようなことをする方法はありません。
これを処理する一般的な方法はありますか?私は、各アプリケーションのCMakeLists.txtに、必要なライブラリへのパスを手動でリストする必要がないようにしたいと考えています。