project¶

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.