project¶

Establezca un nombre, una versión y habilite los idiomas para todo el proyecto.

project(<PROJECT-NAME> )project(<PROJECT-NAME> ]]] )

Establezca el nombre del proyecto y almacene el nombre en la variablePROJECT_NAME. Además, esto establece las variables

  • PROJECT_SOURCE_DIR,<PROJECT-NAME>_SOURCE_DIR

  • PROJECT_BINARY_DIR,<PROJECT-NAME>_BINARY_DIR

Si se especifica VERSION, los componentes dados deben ser enteros no negativos.Si no se especifica VERSION, la versión por defecto es la cadena vacía.La opción VERSION no puede utilizarse a menos que la política CMP0048 se establezca en NEW.

El comando project() almacena el número de versión y sus componentes en las variables

  • 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

Las variables correspondientes a versiones no especificadas se establecen en la cadena vacía (si la política CMP0048 se establece en NEW).

Opcionalmente puede especificar qué lenguajes soporta su proyecto.Ejemplos de lenguajes son C, CXX (es decir, C++), Fortran, etc.Por defecto C y CXX están habilitados si no se dan opciones de lenguaje. Especifique el lenguaje NONE, o use la palabra clave LANGUAGES y no liste ningún lenguaje, para omitir la habilitación de cualquier lenguaje.

Si existe una variable llamada CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE, el archivo apuntado por esa variable se incluirá como el último paso del comandoproject.

El archivo de nivel superior CMakeLists.txt para un proyecto debe contener una llamada literal y directa al comando project(); cargar uno a través del comando include() no es suficiente. Si no existe tal llamada, CMake añadirá implícitamente una al principio que habilite los lenguajes por defecto (C y CXX).

Nota

Llame al comando cmake_minimum_required() al principio del archivo de nivel superior CMakeLists.txt incluso antes de llamar al comandoproject(). Es importante establecer la configuración de la versión y la política antes de invocar otros comandos cuyo comportamiento pueden afectar. Ver también política CMP0000.