Név, verzió és nyelvek engedélyezése a teljes projekt számára.
project(<PROJECT-NAME> )project(<PROJECT-NAME> ]]] )
Meghatározza a projekt nevét, és a nevet aPROJECT_NAME változóban tárolja. Ezen kívül beállítja a változókat
-
PROJECT_SOURCE_DIR,<PROJECT-NAME>_SOURCE_DIR -
PROJECT_BINARY_DIR,<PROJECT-NAME>_BINARY_DIR
Ha VERSION van megadva, az adott összetevőknek nem negatív egész számoknak kell lenniük.Ha VERSION nincs megadva, az alapértelmezett változat az üres karakterlánc.A VERSION opció csak akkor használható, ha a CMP0048 házirend NEW-re van állítva.
A project() parancs a verziószámot és annak összetevőit
-
PROJECT_VERSION,<PROJECT-NAME>_VERSION -
PROJECT_VERSION_MAJOR,<PROJECT-NAME>_VERSION_MAJOR -
PROJECT_VERSION_MINORváltozókban tárolja,<PROJECT-NAME>_VERSION_MINOR -
PROJECT_VERSION_PATCH,<PROJECT-NAME>_VERSION_PATCH -
PROJECT_VERSION_TWEAK,<PROJECT-NAME>_VERSION_TWEAK
A nem specifikált verzióknak megfelelő változók üres karakterláncot kapnak (ha a CMP0048 irányelv NEW-re van állítva).
Előlegesen megadhatja, hogy a projekt milyen nyelveket támogat.Példanyelvek: C, CXX (azaz C++), Fortran, stb.Alapértelmezés szerint a C és CXX engedélyezve van, ha nincs nyelvi opció megadva. Adja meg a NONE nyelvet, vagy használja a LANGUAGES kulcsszót, és ne adjon meg nyelveket, hogy kihagyja a nyelvek engedélyezését.
Ha létezik egy CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE nevű változó, akkor a változó által mutatott fájl a projektparancs utolsó lépéseként fog szerepelni.
A projekt legfelső szintű CMakeLists.txt fájljának tartalmaznia kell a project() parancs közvetlen hívását; a include() parancson keresztül történő betöltés nem elegendő. Ha nincs ilyen hívás, a CMake implicit módon hozzáad egyet a felső szinthez, amely engedélyezi az alapértelmezett nyelveket (C és CXX).
Megjegyzés
A cmake_minimum_required() parancsot a felső szintű CMakeLists.txt fájl elején kell hívni, még a project() parancs hívása előtt. Fontos, hogy a verziót és a házirend-beállításokat más parancsok meghívása előtt állapítsa meg, amelyek viselkedését befolyásolhatják. Lásd még policy CMP0000.
.