Sortie du système de build CMake 3.18

Introduit sortie d'un générateur de script de build ouvert multiplateforme Faire 3.18, qui agit comme une alternative à Autotools et est utilisé dans des projets tels que KDE, LLVM/Clang, MySQL, MariaDB, ReactOS et Blender. Le code CMake est écrit en C++ et distribué sous licence BSD.

CMake se distingue par la fourniture d'un langage de script simple, d'un moyen d'étendre les fonctionnalités via des modules, d'un nombre minimal de dépendances (pas de liaison avec M4, Perl ou Python), de la prise en charge de la mise en cache, de la présence d'outils de compilation croisée, de la prise en charge de la génération de builds. fichiers pour un large éventail de systèmes de construction et de compilateurs, la présence des utilitaires ctest et cpack pour définir des scripts de test et des packages de construction, l'utilitaire cmake-gui pour définir de manière interactive les paramètres de construction.

principal améliorations:

  • Le langage CUDA peut être construit à l'aide de Clang sur des plateformes autres que Windows. La compilation séparée CUDA n’est encore prise en charge sur aucune plateforme.
  • Ajout de la prise en charge du profilage des scripts CMake à l'aide des options "--profiling-output" et "--profiling-format".
  • Les commandes add_library() et add_executable() prennent désormais en charge la création d'Alias ​​​​Targets qui font référence à des cibles importées non globales.
  • Ajout de la commande cmake_langage() pour les méta-opérations sur les commandes scriptées ou intégrées.
  • Ajout de la sous-commande file(CONFIGURE), similaire en fonctionnalité à configure_file(), mais en passant le contenu sous forme de chaîne plutôt que de référence de fichier.
  • Ajout d'une option REQUIRED aux commandes find_program(), find_library(), find_path() et find_file() pour arrêter le traitement avec une erreur si rien n'est trouvé.
  • Ajout de la variable "CMAKE_CUDA_ARCHITECTURES" pour indiquer l'architecture CUDA (définie automatiquement si la variable "CMAKE_CUDA_COMPILER_ID" est définie sur "NVIDIA").
  • Ajout de la propriété « UNITY_BUILD_MODE » pour sélectionner l'algorithme de regroupement des fichiers sources inclus (BATCH, GROUP) dans les générateurs.
  • Ajout du module CheckLinkerFlag pour vérifier l'exactitude des indicateurs de lien.
  • Ajout des expressions génératrices $, $, $ et $.
  • La variable CTEST_RESOURCE_SPEC_FILE a été ajoutée à l'utilitaire ctest pour spécifier le fichier de spécification de ressource.

Source: opennet.ru

Ajouter un commentaire