URL: https://linuxfr.org/users/rewind/journaux/gestionnaire-de-dependances-en-c Title: Gestionnaire de dépendances en C++ Authors: rewind Date: 2015年04月07日T13:53:58+02:00 License: CC By-SA Tags: c++ et biicode Score: 14 Le problème de la gestion des dépendances en C++ serait-il en passe d'être pris suffisamment au sérieux ? On en a parlé il y a quelques temps, à propos de [biicode](http://linuxfr.org/users/grzgh/journaux/biicode-gestionnaire-de-dependances-c), un gestionnaire de dépendance qui a l'inconvénient de ne pas être libre. Mais on risque de voir le paysage bouger. Au [programme](http://cppnow2015.sched.org/grid/#.VSO_XfmsXEA) de la prochaine conférence C++Now, qui aura lieu mi-mai à Aspen (Colorado), pas moins de 4 présentations sur le sujet ou approchant. On retrouve évidemment le sus-nommé biicode ([Biicode, a C/C++ dependency manager with a hosting service](http://cppnow2015.sched.org/event/fc81a76fc593e68ef34fa8c27cec0ec7#.VSPArvmsXEA)), mais aussi: - [Why in heaven there is no dependency management for C++?](http://cppnow2015.sched.org/event/3f25f302026e8dfefbbe5b210d1b8b8a#.VSPA7vmsXEA) : on remarquera que la présentation est faite par un des devs de biicode et que ça risque d'être biaisé - [New Build System for New C++](http://cppnow2015.sched.org/event/a1792e288cfc22f9ef5375d91fbfeded#.VSPBD_msXEA) : qui aborde la problématique globale de la construction multi-platforme et de la gestion des paquets - [Big Projects, and CMake, and Git, Oh My!](http://cppnow2015.sched.org/event/334b625406efd670eb0dc3a0e5936896#.VSPBKPmsXEA) : un tutorial pour montrer comment utiliser git et CMake pour gérer possiblement des centaines de dépendances Personnellement, je pense qu'il y a un marché pour ce genre de produit. Le manque est criant, il suffit d'aller dans n'importe quel entreprise qui fait du C++ pour s'en rendre compte. Et même pour nous, développeurs occasionnels, ça nous simplifierait la vie d'avoir un outil qui permettent de dire : "tape 'machin build' et c'est bon" plutôt que "tape 'cmake' puis... ha non, il faut que tu ailles chercher la lib toto sur ce site... et pour la lib toto, il faut taper './configure' puis..." Dans l'idéal, j'aimerais qu'un tel outil ait les caractéristiques suivantes : - multi-plateformes : l'outil devrait gérer les différents systèmes (et fonctionner de manière similaire), mais également gérer des suites d'outils différentes (GCC, Clang, VS, etc) - impose une organisation des sources : un peu comme Maven, ça ferait du bien, ça permettrait de savoir où chercher quand on découvre un nouveau projet, gain de temps et mutualisation des connaissances - libre : ça me semble être une caractéristique essentiel pour ce genre d'outil, on ne peut plus se permettre d'avoir du propriétaire (c'est un des reproches qu'on peut faire à biicode) - simple à utiliser pour des petits projets : un simple fichier où on indique le nom de l'exécutable et la liste des sources devrait suffire pour tous les projets simples, avec des options par défaut sensées. Actuellement avec CMake, il faut quand même écrire un sacré pâté pour avoir un truc utilisable. Vous ajouteriez quoi ?