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
オプションがサポートされていないため、<プロジェクト名>
の後にプログラム言語を指定する。