Autotools sait faire, sauf que peu de développeurs savent s'en servir correctement. Le résultat c'est que la compilation out-of-source est dysfonctionnelle sur la plupart des projets gérer par autotools.
Lorsque je dirige des projets sous autotools, j'interdis formellement aux développeurs (sauf ceux qui ont démontrés leurs compétences à le faire) de modifier le système de construction sinon c'est le bordel assuré (scripts mal branlés, artefacts de compilations oubliés, mal testé, etc ...). Avec CMake, je peux me permettre un peu plus de souplesse à condition de fixer quelques guidelines et quelques explications (principalement, parce que la doc cmake -bouquin compris- est à chier, certes moins que celle d'autotools)
Avec autotools, faut introduire plusieurs langages (perl, shell, m4), expliquer les différences entre chaque version, l'habituer à un environnement de développement parfois non familier (pour les terreux sous windows -l'horreur-). Bref, on perds du temps, le résultat est à chier, au final, soit j'interdis aux bras cassés de toucher au système de construction, soit j'impose un système de construction plus "simple" selon le vécu de l'équipe (CMake, make, scons, etc ...)
[^] # Re: Avantages CMake
Posté par GeneralZod . En réponse à la dépêche Petit éventail des outils de construction (« builder ») libres. Évalué à 4.
Autotools sait faire, sauf que peu de développeurs savent s'en servir correctement. Le résultat c'est que la compilation out-of-source est dysfonctionnelle sur la plupart des projets gérer par autotools.
Lorsque je dirige des projets sous autotools, j'interdis formellement aux développeurs (sauf ceux qui ont démontrés leurs compétences à le faire) de modifier le système de construction sinon c'est le bordel assuré (scripts mal branlés, artefacts de compilations oubliés, mal testé, etc ...). Avec CMake, je peux me permettre un peu plus de souplesse à condition de fixer quelques guidelines et quelques explications (principalement, parce que la doc cmake -bouquin compris- est à chier, certes moins que celle d'autotools)
Avec autotools, faut introduire plusieurs langages (perl, shell, m4), expliquer les différences entre chaque version, l'habituer à un environnement de développement parfois non familier (pour les terreux sous windows -l'horreur-). Bref, on perds du temps, le résultat est à chier, au final, soit j'interdis aux bras cassés de toucher au système de construction, soit j'impose un système de construction plus "simple" selon le vécu de l'équipe (CMake, make, scons, etc ...)