Stel een naam, versie, en enable talen in voor het gehele project.
project(<PROJECT-NAME> )project(<PROJECT-NAME> ]]] )
Stelt de naam van het project in en slaat de naam op in dePROJECT_NAME
variabele. Bovendien worden hiermee de variabelen
-
PROJECT_SOURCE_DIR
,<PROJECT-NAME>_SOURCE_DIR
-
PROJECT_BINARY_DIR
,<PROJECT-NAME>_BINARY_DIR
Als VERSION
is opgegeven, moeten de opgegeven componenten niet-negatieve gehele getallen zijn.Als VERSION
niet is opgegeven, is de standaardversie de lege tekenreeks.De optie VERSION
mag niet worden gebruikt tenzij beleid CMP0048
is ingesteld op NEW
.
De opdracht project()
slaat het versienummer en de onderdelen ervan op in variabelen
-
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
Variabelen die overeenkomen met niet-gespecificeerde versies worden ingesteld op de lege tekenreeks (als beleid CMP0048
is ingesteld op NEW
).
Optioneel kunt u opgeven welke talen uw project ondersteunt. Voorbeeld talen zijn C
, CXX
(d.w.z. C++), Fortran
, etc. Standaard worden C
en CXX
aangezet als geen taal opties zijn opgegeven. Specificeer taal NONE
, of gebruik het LANGUAGES
sleutelwoord en geef geen talen op, om het inschakelen van talen over te slaan.
Als er een variabele bestaat met de naam CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
, zal het bestand waarnaar die variabele verwijst worden opgenomen als laatste stap van het project commando.
Het top-level CMakeLists.txt
bestand voor een project moet een letterlijke, directe aanroep bevatten naar het project()
commando; een aanroep via het include()
commando laden is niet voldoende. Als zo’n oproep niet bestaat, zal CMake er impliciet een aan de top toevoegen die de standaard talen (C
en CXX
) inschakelt.
Note
Roep het cmake_minimum_required()
commando aan het begin van het CMakeLists.txt
bestand op top-niveau aan, zelfs voordat u het project()
commando aanroept. Het is belangrijk om de versie- en beleidsinstellingen vast te leggen voordat u andere commando’s aanroept waarvan het gedrag hierdoor kan worden beïnvloed. Zie ook beleid CMP0000
.