CMake - プロジェクト
概要
全てのCMakeプロジェクトは、projectコマンドを含む必要があり、cmake_minimum_requiredコマンドの後ろに記述する必要がある。
projectコマンドの重要な役割の1つは、有効化された各言語のコンパイラをチェックして、正常にコンパイルとリンクを行えるかどうかを確認することである。
コンパイラやリンカのチェックが正常に終了した後、その結果はキャッシュされて、ビルドディレクトリのCMakeCache.txtファイルに保存される。
その後、CMakeは有効化された機能を制御する多くの変数とプロパティをセットアップする。
projectコマンドの値は、変数PROJECT_NAMEに自動的に設定される。
例えば、プロジェクトのCMakeLists.txtファイル内で${PROJECT_NAME}を使用することにより、プロジェクト名を参照することができる。
projectコマンド
<プロジェクト名>オプションは必須であり、英数字、アンダースコア(_)、ハイフン(-)が使用できる。
ただし、空白は使用できない。
<プロジェクト名>は、引用符で囲む必要はない。
VERSIONオプションは、CMake 3.0以降でのみサポートされている。
LANGUAGESオプションは、CMakeプロジェクトで有効にするプログラム言語を指定する。(C、CXX、Fortran、ASM、Java等)
複数の言語を指定する場合は、それぞれをスペースで区切る。
# CMake 3.0以降
project(
<プロジェクト名>
[VERSION <メジャー番号>[.<マイナー番号>.<バグフィックス番号>.<ビルド番号>]]
[LANGUAGES <プログラム言語名 例. CやCXX等>]
)
# CMake 2.x以前
project(
<プロジェクト名>
[<プログラム言語名 例. CやCXX等>]
)
特殊な状況下では、CMakeプロジェクトはプログラム言語を使用しないことを示す必要がある場合が存在する。
このような場合、LANGUAGES NONEを指定する。
CMake 2.x以前では、LANGUAGESオプションがサポートされていないため、<プロジェクト名>の後にプログラム言語を指定する。