プロジェクト全体の名前、バージョン、有効言語を設定します。
project(<PROJECT-NAME> )project(<PROJECT-NAME> ]]] )
 プロジェクトの名前を設定し PROJECT_NAME 変数に名前を格納します。 さらにこれは変数
- 
PROJECT_SOURCE_DIR,<PROJECT-NAME>_SOURCE_DIR
- 
PROJECT_BINARY_DIR,<PROJECT-NAME>_BINARY_DIR
 もしVERSIONが指定されていれば、与えられた成分は非負の整数でなければならない。VERSION が指定されない場合、デフォルトは空文字列である。VERSION オプションは、ポリシー CMP0048 が NEW に設定されていない場合は使用できない。
コマンドはバージョン番号とその構成要素を変数
- 
PROJECT_VERSION,<PROJECT-NAME>_VERSION
- 
PROJECT_VERSION_MAJOR,<PROJECT-NAME>_VERSION_MAJOR
- 
PROJECT_VERSION_MINORで保存する。<PROJECT-NAME>_VERSION_MINOR
- 
PROJECT_VERSION_PATCH,<PROJECT-NAME>_VERSION_PATCH
- 
PROJECT_VERSION_TWEAK,<PROJECT-NAME>_VERSION_TWEAK
未指定バージョンに対応した変数は空文字列に設定します(ポリシー CMP0048がNEWに設定されている場合)。
オプションで、プロジェクトがサポートする言語を指定できます。例として、C、CXX (例: C++)、Fortran 等があります。 
 プロジェクトのトップレベル CMakeLists.txt ファイルには、project() コマンドへの直接的な呼び出しが含まれていなければなりません (include() コマンドによる読み込みでは十分ではありません)。 もしそのような呼び出しがなければ、CMake は暗黙のうちにデフォルトの言語 (C および CXX) を有効にするものをトップに追加します。
Note
 project() コマンドを呼び出す前にトップレベルの CMakeLists.txt ファイルの先頭で cmake_minimum_required() コマンドを呼び出してください。 他のコマンドを呼び出す前に、そのコマンドの動作に影響を与える可能性のあるバージョンとポリシーの設定を行うことが重要です。 ポリシー CMP0000.
も参照してください。