La sortie de la version multiplateforme de l'outil de génération de scripts de compilation open source CMake 3.28 a été publiée. Cet outil est une alternative à Autotools et est utilisé dans des projets tels que KDE, LLVM/Clang, MySQL, MariaDB, ReactOS et Blender. CMake se distingue par son langage de script simple, ses moyens d'extension via des modules, son support de la mise en cache, sa capacité à générer des fichiers de compilation pour une large gamme de systèmes de construction et de compilateurs, et ses utilitaires ctest et cpack pour définir des scripts de test et de création de paquets, ainsi que l'outil cmake-gui pour la configuration interactive des paramètres de compilation. Le code de CMake est écrit en C++ et est distribué sous la licence BSD.
Améliorations principales :
- Le support des modules définis dans la spécification C++ 20 a été ajouté aux générateurs de scripts de construction pour Visual Studio et Ninja. Le support des modules est disponible avec LLVM/Clang 16, GCC 14-dev ou MSVC 14.34.
- La possibilité de compiler du code HIP pour les GPU NVIDIA en utilisant le compilateur NVCC (NVIDIA CUDA Compiler) a été mise en œuvre. Une variable CMAKE_HIP_PLATFORM a été ajoutée pour sélectionner la plateforme GPU pour HIP (« amd » ou « nvidia »).
- La prise en charge des répertoires « .xcframework » a été ajoutée sur les plateformes Apple.
- La commande « exec_program() » a été supprimée, déclarée obsolète dans la version 3.0. Pour exécuter des processus, il convient d'utiliser la commande « execute_process() ».
- Les fichiers générés en mode « FILE_SET » sont désormais traités par défaut comme privés, ce qui permet de créer un graphe de compilation plus efficace dans les générateurs Ninja.
- Dans les commandes find_library(), find_path() et find_file() sur la plateforme Windows, la recherche dans les répertoires d'installation obtenus via la variable d'environnement PATH a été désactivée (pour uniformiser le comportement sous Windows avec d'autres plateformes).
Source : opennet.ru
