Sortie du système de build CMake 3.17.0

Introduit sortie d'un générateur de script de build ouvert multiplateforme Faire 3.17, 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:

  • Un nouveau générateur de script d'assemblage basé sur la boîte à outils Ninja a été ajouté - "Ninja Multi-Config", qui diffère de l'ancien générateur par la capacité de traiter plusieurs configurations d'assemblage à la fois.
  • Dans le générateur de script d'assemblage pour Visual Studio apparu la possibilité de définir les fichiers sources associés à chaque configuration (sources par configuration).
  • La possibilité de définir des métaparamètres pour CUDA (« cuda_std_03 », « cuda_std_14 », etc.) a été ajoutée aux outils de définition des paramètres du compilateur (Compile Features).
  • Ajout des variables "CMAKE_CUDA_RUNTIME_LIBRARY" et "CUDA_RUNTIME_LIBRARY" pour sélectionner le type de bibliothèques d'exécution lors de l'utilisation de CUDA.
  • Ajout du module "FindCUDAToolkit" pour déterminer la boîte à outils CUDA disponible sur le système sans activer le langage CUDA.
  • Ajout de la commande "--debug-find" à cmake pour afficher des diagnostics lisibles supplémentaires lors de l'exécution d'opérations de recherche. À des fins similaires, la variable CMAKE_FIND_DEBUG_MODE a été ajoutée.
  • Ajout de la prise en charge de la recherche d'outils CURL à l'aide des fichiers de configuration générés par cmake « CURLConfig.cmake » au module « FindCURL ». Pour désactiver ce comportement, la variable CURL_NO_CURL_CMAKE est fournie.
  • Le module FindPython a ajouté la possibilité de rechercher des composants Python dans des environnements virtuels gérés à l'aide de « conda ».
  • L'utilitaire ctest a ajouté les options « --no-tests=[error|ignore] » pour définir le comportement en cas d'absence de tests et « --repeat » pour définir les conditions de réexécution des tests (jusqu'à ce qu'ils réussissent, après le délai d'attente).
  • Les propriétés de cible de build INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES et INTERFACE_LINK_DEPENDS sont désormais incluses parmi les dépendances internes des bibliothèques construites statiquement.
  • Lors de l'utilisation de la boîte à outils MinGW, la recherche de fichiers DLL avec la commande find_library est désactivée par défaut (au lieu de cela, la tentative par défaut consiste à importer les bibliothèques ".dll.a").
  • La logique de sélection de l'utilitaire ninja dans le générateur Ninja ne dépend désormais plus du nom du fichier exécutable - le premier utilitaire ninja-build, ninja ou samu trouvé dans les chemins définis via la variable d'environnement PATH est utilisé.
  • Ajout d'une commande "-E rm" à cmake qui peut être utilisée pour supprimer des fichiers et des répertoires au lieu des commandes distinctes "-E Remove" et "-E Remove_directory".

Source: opennet.ru

Ajouter un commentaire