La nouvelle mise à jour du générateur de scripts CMake 3.15 a été publiée

cmake

Ça fait quelques jours Sortie du générateur de scripts open source multiplateforme CMake 3.15 qui agit comme une alternative aux Autotools et est utilisé dans des projets tels que KDE, LLVM / Clang, MySQL, MariaDB, ReactOS et Blender.

CMake est un outil de génération ou d'automatisation de code multiplateforme. Le nom est une abréviation pour "make cross platform" (make cross platform, au-delà de l'utilisation de "make" dans le nom, CMake est une suite séparée et de niveau supérieur au système de marque commun d'Unix, étant similaire aux autotools.

À propos de CMake

Cfaire est remarquable pour fournir un langage de script simple, des outils pour étendre les fonctionnalités à travers les modules, un nombre minimal de dépendances (pas de liaison à M4, Perl ou Python), la prise en charge de la mise en cache, la disponibilité d'outils pour la compilation croisée, la prise en charge de la génération de fichiers d'assemblage pour un large éventail de systèmes de compilation et de compilateurs.

Les utilitaires ctest et cpack pour définir des scénarios de test et la création de packages, avec l'utilitaire cmake-gui pour configurer de manière interactive les paramètres de construction.

CMake est utilisé pour contrôler le processus de compilation du logiciel à l'aide de fichiers de configuration simples et indépendants de la plate-forme. Cmake génère des makefiles natifs et des espaces de travail qui peuvent être utilisés dans l'environnement de développement souhaité.

Il est comparable au système de construction Unix GNU en ce que le processus est contrôlé par des fichiers de configuration, dans le cas de CMake appelé CMakeLists.txt.

Contrairement au système de construction GNU, qui est limité aux plates-formes Unix, CMake prend en charge la génération de fichiers pour divers systèmes d'exploitation, ce qui facilite la maintenance et élimine le besoin d'avoir plusieurs ensembles de fichiers pour chaque plate-forme.

Le processus de construction est contrôlé en créant un ou plusieurs fichiers CMakeLists.txt dans chaque répertoire (y compris les sous-répertoires).

Le code CMake est écrit en C ++ et est distribué sous la licence BSD.

CMake 3.15 Principales nouvelles fonctionnalités

Cette nouvelle version mis en évidence par l'arrivée du support du générateur initial pour le langage Swift développé par Apple a été ajouté au générateur de script d'assemblage Ninja Toolkit.

Mis-à-part, vient également le support de l'option du compilateur Clang pour Windows qui est construit avec ABI MSVC, mais utilise les options de ligne de commande de style GNU.

Les développeurs soulignent que les variables CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY sont ajoutés pour sélectionner les bibliothèques d'exécution utilisées par les compilateurs ABI MSVC (MS VisualStudio).

Pour les compilateurs comme MSVC, à CMAKE__FLAGSPar défaut, la liste des indicateurs de contrôle d'avertissement tels que "/ W3" est arrêtée.

Parmi les autres améliorations mises en évidence dans l'annonce de la sortie de cette nouvelle version, on retrouve les suivantes:

  • Ajout de l'expression génératrice 'COMPILE_LANG_AND_ID: »Pour définir les options du compilateur pour les fichiers cibles utilisant des variables CMAKE__COMPILER_ID y LANGUAGE pour chaque fichier de code
  • Expressions de générateur C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID ajouter la prise en charge pour faire correspondre une valeur à une liste, éléments séparés par des virgules
  • La variable a été ajoutée CMAKE_FIND_PACKAGE_PREFER_CONFIG, dans lequel l'appel à find_package () cherchera d'abord le fichier de configuration du package, même si le module de recherche est disponible
  • Pour les bibliothèques d'interface, une prise en charge a été ajoutée pour la définition des propriétés PUBLIC_HEADER y PRIVATE_HEADER, dont les en-têtes peuvent être configurés par la commande d'installation (TARGETS) en passant les arguments PUBLIC_HEADER y PRIVATE_HEADER
  • La variable a été ajoutée CMAKE_VS_JUST_MY_CODE_DEBUGGING et la propriété de destination VS_JUST_MY_CODE_DEBUGGING pour activer le mode «Just My Code» dans le débogueur Visual Studio lors de la compilation à l'aide de MSVC cl 19.05 et des versions plus récentes.
  • Le module FindBoost a été retravaillé, qui est désormais travaillé plus en profondeur dans les modes configuration et module avec la présence d'autres modules de recherche
  • La prise en charge des types NOTICE, VERBOSE, DEBUG et TRACE a été ajoutée à la commande message ()
  • La commande "export (PACKAGE)" ne fait plus rien tant qu'elle n'est pas explicitement activée via la variable CMAKE_EXPORT_PACKAGE_REGISTRY.

Si vous voulez en savoir plus, vous pouvez consulter le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.