project¶

Définir un nom, une version, et activer les langues pour l’ensemble du projet.

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

Définit le nom du projet et stocke le nom dans la variablePROJECT_NAME. En outre, cela définit les variables

  • PROJECT_SOURCE_DIR,<PROJECT-NAME>_SOURCE_DIR

  • PROJECT_BINARY_DIR,<PROJECT-NAME>_BINARY_DIR

Si VERSION est spécifié, les composants donnés doivent être des entiers non négatifs.Si VERSION n’est pas spécifié, la version par défaut est la chaîne vide.L’option VERSION ne peut être utilisée que si la politique CMP0048 est réglée sur NEW.

La commande project() stocke le numéro de version et ses composants dans des variables

  • 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

Les variables correspondant aux versions non spécifiées sont définies par la chaîne vide(si la politique CMP0048 est définie sur NEW).

En option, vous pouvez spécifier les langages que votre projet supporte.Les exemples de langages sont C, CXX (c’est-à-dire C++), Fortran, etc.Par défaut, C et CXX sont activés si aucune option de langage n’est donnée. Spécifiez la langue NONE, ou utilisez le mot-clé LANGUAGES et n’indiquez aucune langue, pour ne pas activer de langues.

S’il existe une variable appelée CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE, le fichier pointé par cette variable sera inclus à la dernière étape de la commandeproject.

Le fichier de premier niveau CMakeLists.txt pour un projet doit contenir un appel littéral et direct à la commande project() ; le chargement d’un fichier par la commande include() n’est pas suffisant. Si un tel appel n’existe pas, CMake en ajoutera implicitement un au sommet qui active les langages par défaut (C et CXX).

Note

Appelle la commande cmake_minimum_required() au début du fichier CMakeLists.txt de niveau supérieur avant même d’appeler la commandeproject(). Il est important d’établir les paramètres de version et de politique avant d’invoquer d’autres commandes dont elles peuvent affecter le comportement. Voir aussi politique CMP0000.