• [^] # Re: Avantages CMake

    Posté par . En réponse à la dépêche Petit éventail des outils de construction (« builder ») libres. Évalué à 3.

    Et pour les autotools, [...] j'ai des fichiers générés dans les sources moi (des Makefile ou autre fichiers intermédiaires du configure)

    Les auto-tools savent très bien générer des Makefiles pour la compilation out-of-tree. Il suffit de faire :

    $ tar xjf package-1.2.3.tar.bz2
    $ ls -F
    package-1.2.3/
    $ mkdir build-package
    $ cd build-package
    $ ../package-1.2.3/configure --blabla
    $ make
    
    

    Alors, tous les fichiers générés seront dans le répertoire build-package, et le répertoire des sources ne sera pas modifié.

    Si le make disponible connait les VPATH (GNU make), alors les Makefiles générés utiliseront cette fonctionnalité ; sinon, les Makefiles utiliseront des contournements pour simuler les VPATH.

    Cependant, les auto-tools génèrent effectivement des fichiers dans le répertoire sources, mais uniquement dans la phase pré-empaquetage. C'est à ce moment-là que les fichiers configure, Makefile.in (et autres) sont générés. Mais ces fichiers font partie de la livraison.

    Enfin, je ne suis pas un très grand fan des auto-tools, car ils ne savent pas très bien gérer la compilation croisée la plupart du temps, sauf si le développeur a fait bien attention. La faute en incombe pour partie (~75%) aux auto-tools, et pour partie au développeur (25%).

    Hop,
    Moi.