Setzt einen Namen, eine Version und Aktivierungssprachen für das gesamte Projekt.
project(<PROJECT-NAME> )project(<PROJECT-NAME> ]]] )
Setzt den Namen des Projekts und speichert den Namen in der VariablenPROJECT_NAME
. Zusätzlich werden die Variablen
-
PROJECT_SOURCE_DIR
,<PROJECT-NAME>_SOURCE_DIR
-
PROJECT_BINARY_DIR
,<PROJECT-NAME>_BINARY_DIR
Wenn VERSION
angegeben ist, müssen die angegebenen Komponenten nicht-negative ganze Zahlen sein.Wenn VERSION
nicht angegeben wird, ist die Standardversion die leere Zeichenkette Die Option VERSION
darf nur verwendet werden, wenn die Richtlinie CMP0048
auf NEW
gesetzt ist.
Der Befehl project()
speichert die Versionsnummer und ihre Komponenten in Variablen
-
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
Variablen, die nicht spezifizierten Versionen entsprechen, werden auf die leere Zeichenfolge gesetzt (wenn Richtlinie CMP0048
auf NEW
gesetzt ist).
Optional können Sie angeben, welche Sprachen Ihr Projekt unterstützt, z. B. C
, CXX
(d. h. C++), Fortran
usw. Standardmäßig sind C
und CXX
aktiviert, wenn keine Sprachoptionen angegeben werden. Geben Sie die Sprache NONE
an oder verwenden Sie das Schlüsselwort LANGUAGES
und geben Sie keine Sprachen an, um keine Sprachen zu aktivieren.
Wenn eine Variable mit dem Namen CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
existiert, wird die Datei, auf die diese Variable zeigt, als letzter Schritt des Projektbefehls eingefügt.
Die oberste Datei CMakeLists.txt
für ein Projekt muss einen direkten Aufruf des Befehls project()
enthalten; das Laden eines solchen Aufrufs über den Befehl include()
ist nicht ausreichend. Wenn kein solcher Aufruf vorhanden ist, fügt CMake implizit einen hinzu, der die Standardsprachen (C
und CXX
) aktiviert.
Hinweis
Rufen Sie den cmake_minimum_required()
-Befehl am Anfang der Top-Level CMakeLists.txt
-Datei auf, noch bevor Sie denproject()
-Befehl aufrufen. Es ist wichtig, die Versions- und Richtlinieneinstellungen festzulegen, bevor andere Befehle aufgerufen werden, deren Verhalten sie beeinflussen können. Siehe auch Richtlinie CMP0000
.