はじめに
CMakeを使い始めて色々と学んだことを少しずつまとめています。
関連記事
参考資料
ステップ8:他のライブラリを自分のプロジェクトで使えるようにする
自分のCMakeプロジェクトをビルドするために、インストールされていないライブラリが必要だとします。CMakeには、ビルドに必要なライブラリを自分のCMakeプロジェクト内で使えるようにするFetchContentというモジュールがあります。
FetchContentモジュールに含まれるFecthContent_Declare
関数とFetchContent_MakeAvailable
関数を使うと、他のプロジェクトのCMakeターゲットや変数をそのまま自分のプロジェクト内で参照できるようになります。詳しくはドキュメントをあたってください。ここではよく使うものをGoogleTestを例にして紹介します。
FetchContentモジュールはCMake 3.11から導入されたものです。それ以前はExternalProjectモジュールを使って似たようなことを行うことができました。
GitHubを参照する場合
include(FetchContent)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG e2239ee6043f73722e7aa812a459f54a28552929 # release-1.11.0
)
FetchContent_MakeAvailable(googletest)
ソースコードをダウンロードする場合
include(FetchContent)
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/refs/tags/release-1.11.0.zip
)
FetchContent_MakeAvailable(googletest)