Set a name, version, and enable languages for the entire project.
.. code-block:: cmake
project(<PROJECT-NAME> [LANGUAGES] [<language-name>…])
Sets the name of the project and stores the name in the
PROJECT_NAME variable. Additionally this sets variables
VERSION is specified, given components must be non-negative integers.
VERSION is not specified, the default version is the empty string.
VERSION option may not be used unless policy :policy:
project() command stores the version number and its components
Variables corresponding to unspecified versions are set to the empty string
(if policy :policy:
CMP0048 is set to
Optionally you can specify which languages your project supports.
Example languages are
CXX (i.e. C++),
CXX are enabled if no language options are
given. Specify language
NONE, or use the
and list no languages, to skip enabling any languages.
If a variable exists called :variable:
the file pointed to by that variable will be included as the last step of the
CMakeLists.txt file for a project must contain a
literal, direct call to the :command:
project command; loading one
through the :command:
include command is not sufficient. If no such
call exists CMake will implicitly add one to the top that enables the
default languages (
Call the :command:
cmake_minimum_required command at the beginning
of the top-level
CMakeLists.txt file even before calling the
project() command. It is important to establish version and
policy settings before invoking other commands whose behavior they
may affect. See also policy :policy: