project¶

Sätt namn, version och aktiveringsspråk för hela projektet.

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

Sätter namnet på projektet och lagrar namnet i variabelnPROJECT_NAME. Dessutom sätter detta variabler

  • PROJECT_SOURCE_DIR,<PROJECT-NAME>_SOURCE_DIR

  • PROJECT_BINARY_DIR,<PROJECT-NAME>_BINARY_DIR

Om VERSION anges måste givna komponenter vara icke-negativa heltal.Om VERSION inte anges är standardversionen den tomma strängen.Alternativet VERSION får inte användas om inte policy CMP0048 är satt till NEW.

Kommandot project() lagrar versionsnumret och dess komponenteri variabler

  • 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

Variabler som motsvarar ospecificerade versioner sätts till den tomma strängen (om policy CMP0048 är inställd på NEW).

Optionellt kan du ange vilka språk ditt projekt stöder.Exempel på språk är C, CXX (dvs. C++), Fortran, etc.Som standard är C och CXX aktiverade om inga språkalternativ anges. Ange språk NONE, eller använd nyckelordet LANGUAGESoch lista inga språk, för att hoppa över att aktivera några språk.

Om det finns en variabel som heter CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE kommer filen som den variabeln pekar på att inkluderas som det sista steget i kommandotproject.

Den översta CMakeLists.txt-filen på högsta nivå för ett projekt måste innehålla en bokstavlig, direkt anropning av project()-kommandot; att läsa in en sådan via include()-kommandot är inte tillräckligt. Om inget sådant anrop finns kommer CMake implicit att lägga till ett i toppen som aktiverar standardspråken (C och CXX).

Note

Anropa cmake_minimum_required()-kommandot i början av den översta nivåns CMakeLists.txt-fil även innan du anropar project()-kommandot. Det är viktigt att fastställa versions- och policyinställningar innan du anropar andra kommandon vars beteende de kan påverka. Se även policy CMP0000.

.