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_MINOR
vá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
.
.