project¶

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.