• [^] # Re: Désolé de répondre à coté de la plaque

    Posté par (site web personnel, Mastodon) . En réponse au journal Version minimum de CMake. Évalué à 3.

    Tu survends un peu CMake dans ton cas, j'ai l'impression. Tu es en train de dire implicitement que CMake est genre évidemment mieux qu'autotools? Ou je me méprends?

    Parce que pour bien connaître les 2, ils ont clairement chacun des avantages et inconvénients. J'aime beaucoup la configuration dans CMake, notamment le fait que ça ne s'arrête pas à chaque dépendance manquante, et qu'on a un résumé à la fin. Similairement cela permet des outils comme ccmake (que j'utilise toujours perso sur des projets avec un build CMake) pour avoir une vue d'ensemble des dépendances et options.
    J'aime aussi la sortie d'un build créé par CMake qui est plus agréable et lisible.

    Par contre, CMake a son lot de problème aussi. Il lui manque des targets par défaut. Ils ont un peu complexifié la compilation croisé avec les fichiers toolchains. Bien sûr la fonctionnalité des fichiers toolchains est utile, mais dans 99% des cas, c'est inutile. Se contenter du préfixe commun à tous les outils de la toolchain est suffisant (comme autotools). Le fait de ne pas être dans un langage de script classique complexifie les particularités que l'on veut donner à notre build (dans autotools, c'est du shell). C'est faisable mais faut faire plus de détours par des macros CMake.

    Enfin voilà. Autotools est loin loiiin d'être parfait, mais perso je mets CMake au même niveau.

    Meson, je sais pas. Pas encore essayé. Si je pige bien, ses développeurs mettent surtout en avant sa vitesse, bien sûr par de la compilation même mais surtout de la partie script entre la compilation (qui prend en effet beaucoup de temps avec des Makefiles). Sur cela, CMake a aussi l'avantage de pouvoir utiliser ninja en backend optionnel (comme Meson). Ceci dit, les tests de vitesse effectués par le projet Meson sont un peu ridicules. Ils se basent sur un faux build qui se fait en quelques dizaines de secondes. Les grosses différences qu'on voit alors, comment savoir si ce sont des temps fixes ou proportionnels? C'est comme le temps de configuration, autotools est le gros perdant, mais bon... c'est pas comme si on reconfigure constamment et comme si les quelques secondes prises pour configurer (qui sont fixes) sont vraiment comparables à une compilation de 2 heures!

    Ce test n'a donc aucun intérêt. J'attends de voir des comparaisons sur de vrais projets qui mettent 30 minutes au moins à compiler.

    Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]