2016年11月8日火曜日

[CMake] 静的ライブラリのリンク

大抵の外部ライブラリには CMake 対応がされており、
気軽に好みのビルド環境を構築することができるようになっている。 (できるとは限らないが)

なんであれ自作アプリケーションに組み込んで利用する前には必ずお世話になるはずだ。

私もよくお世話になっているわけだが、ふと中で何をしているのかが気になった。

というわけで動作を追ってみることにした。

まとめきれないので GitHub に。


おそらく頻繁に使うケースは、ライブラリをビルドツリーの

中に置く

外に置く

のどちらかだと思われる。


いづれにせよ重要なのは、CMakeの時間軸概念ではないだろうか。

(1) Generate-Time
  CMake で任意のプロジェクトを生成

(2) Build-Time
  生成されたプロジェクトを msbuild / make などで実際にビルド

(3) Install-Time
  ビルドされたものをインストール

中に置く場合は、ライブラリ/アプリともに (1) → (2) → (3) と進む(依存関係は解決済みという前提)
外に置く場合は、ライブラリ (1) → (2) → (3)、アプリ (1) → (2) → (3) と進める

時間軸の進め方に大きな違いがあるため、内部で必要となる準備も異なってくる。

所感としては、中に置くケースは一括で構築できるので便利である反面、複雑になる気がしてならない。






0 件のコメント :

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。