Definir um nome, versão e habilitar idiomas para o projeto inteiro.
project(<PROJECT-NAME> )project(<PROJECT-NAME> ]]] )
Definir o nome do projeto e armazenar o nome na variávelPROJECT_NAME
. Adicionalmente isto define variáveis
-
PROJECT_SOURCE_DIR
,<PROJECT-NAME>_SOURCE_DIR
-
PROJECT_BINARY_DIR
,<PROJECT-NAME>_BINARY_DIR
Se VERSION
for especificado, dados os componentes devem ser inteiros não negativos.Se VERSION
não estiver especificado, a versão padrão é a string vazia. A opção VERSION
não pode ser usada a menos que a política CMP0048
esteja ajustada para NEW
.
O comando project()
armazena o número da versão e seus componentes nas variáveis
-
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
Variáveis correspondentes a versões não especificadas são definidas para a cadeia vazia (se a política CMP0048
for definida para NEW
).CXX
são ativadas se nenhuma opção de idioma for dada. Especifique o idioma NONE
, ou use o comando LANGUAGES
palavra-chave e lista sem idiomas, para saltar a ativação de qualquer idioma.
Se uma variável existir chamada CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
, o arquivo apontado por essa variável será incluído como o último passo do comando do projeto.
O arquivo de nível superior CMakeLists.txt
para um projeto deve conter uma chamada aliteral, direta ao comando project()
; carregar através do comando include()
não é suficiente. Se tal chamada não existir o CMake implicitamente adicionará um ao topo que habilita as linguagens predefinidas (C
e CXX
).
Nota
Chame o comando cmake_minimum_required()
no início do nível superior CMakeLists.txt
arquivo mesmo antes de chamar o comandoproject()
. É importante estabelecer as configurações de versão e política antes de invocar outros comandos cujo comportamento eles podem afetar. Veja também a política CMP0000
.