Meson est un outil logiciel permettant d'automatiser la construction de logiciels. Il est gratuit et open source écrit en Python.
La sortie de la nouvelle version 1.4 du système de compilation Meson a été annoncée récemment . Cette version propose une meilleure prise en charge de certaines fonctions du module FS, ainsi que des améliorations de compatibilité, de nouvelles fonctionnalités et bien plus encore.
Pour ceux qui ne connaissent pas Meson, il s'agit d'un système de compilation utilisé par des projets importants tels que X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME et GTK. Son objectif principal est de fournir un processus de compilation rapide et convivial. Il utilise par défaut la boîte à outils Ninja, mais est également compatible avec d'autres environnements de compilation comme Xcode et Visual Studio.
Ce système intègre un gestionnaire de dépendances multiplateforme qui simplifie la création de paquets pour les distributions. Les règles de compilation sont définies dans un langage spécifique et lisible, ce qui réduit considérablement le temps nécessaire à leur écriture.
Meson prend en charge la création de projets dans plusieurs langages tels que C, C++, Fortran, Java et Rust, et propose un mode de construction incrémentiel qui reconstruit uniquement les composants affectés par les modifications apportées depuis la dernière version. De plus, Meson peut générer des builds reproductibles, garantissant que l'exécution de la build dans différents environnements produit des exécutables complètement identiques.
Principales nouveautés de Meson 1.4
Cette nouvelle version de Meson 1.4 met en évidence la prise en charge supplémentaire du module FS, qui prend désormais en charge les objets cibles de compilation build_tgt et custom_tgt, ainsi qu'un index de cible de compilation (custom_idx) dans les fonctions fs.name, fs.parent, fs.replace_suffix et fs.stem.
Autre nouveauté notable : Meson peut désormais lire la version du projet à partir des sous-projets CMake. Cela garantit la vérification correcte des contraintes de version lors de l’accès à un sous-projet CMake.
De plus, l'argument `preserve_paths` a maintenant été ajouté aux fonctions `compile_ui`, `compile_moc` et de prétraitement des modules `qt4`, `qt5` et `qt6` pour sélectionner l'option permettant de construire la structure de répertoire pour les fichiers en cours d'écriture.
Il convient également de noter que la prise en charge de Clang a été ajoutée à stldebug lorsque debugstl est activé, la méthode unset() a été introduite dans l'objet env et la méthode full_path() a été ajoutée à l'objet File pour obtenir le chemin complet du fichier.
La prise en charge de l'outil numpy-config et de pkg-config a été ajoutée en tant que nouvelles dépendances personnalisées. Cette fonctionnalité est disponible à partir de NumPy 2.0.0. La prise en charge de numpy-config sera automatique une fois NumPy installé. Cependant, le fichier pkg-config se trouvant dans le répertoire des packages Python, il est nécessaire de configurer la variable d'environnement PKG_CONFIG_PATH avant de l'utiliser.
Parmi les autres changements notables de cette nouvelle version, on peut citer :
- Possibilité de contrôler les vérifications d'assertions (GLIBCXX_ASSERTIONS) en C++ stdlib via la configuration ndebug.
- Ajout de l'argument de mot-clé préserver_pathsun aux fonctions du module qt
- Il est désormais possible de spécifier des cibles dépendantes avec depend : pour compiler.preprocess(). Ces cibles doivent être construites avant le début du prétraitement.
- Le générateur de liaison bindgen prend désormais en charge l'heuristique Meson pour déterminer les fichiers d'en-tête C++.
- Ajout de la possibilité de remplacer les paramètres de langue pour bindgen.
- Les tests échouent désormais par défaut après avoir rencontré des erreurs lors de l’exécution de désinfectants comme MemorySanitizer.
- Ajout de la prise en charge du compilateur Texas Instruments C/C++ pour la famille de processeurs C6000.
Enfin, si vous souhaitez en savoir plus, vous trouverez les détails en suivant ce lien.
Comment installer Meson sur Linux ?
Pour ceux qui souhaitent pouvoir installer ce système de construction sur leur système, ils peuvent le faire en suivant les instructions que nous partageons ci-dessous.
Ils doivent savoir que Meson est disponible sur PyPi, il peut donc être installé avec la commande :
pip3 install meson
Notez que vous devez savoir que la commande exacte à taper pour installer pip peut varier d'un système à l'autre. Il est donc recommandé d'utiliser la version Python 3 de pip.