• [^] # Re: On peut toujours creuser un trou à mains nues...

    Posté par (site web personnel) . En réponse au journal Point de vue : un IDE est il un outil de programmation indispensable ?. Évalué à 2.

    Je résume donc :

    • ninja est prévu pour n'être pas écrit à la main mais généré automatiquement. Passer de make à ninja revient donc à configurer une option avec cmake (c'est aussi simple que de passer de gcc à clang en fait !). Évidemment, si tes Makefiles sont fait à la main, c'est "too much" de passer à ninja ;-)

    • ninja gère automatiquement le bon nombre de processus à lancer : make -j4 sur simple coeur fera perdre des performances. En plus, en cas de Makefile récursif l'argument "-j" fournit initialement par l'utilisateur doit être propagé dans les autres appels ce qui n'est pas commode du tout alors que ça "juste fonctionne" avec ninja

    • ninja gère mieux les dépendances (typiquement les modifications dans les .h que make ne prend pas en compte sans "gcc-M") et recompile en cas de changements dans les flags

    • ET SURTOUT : ninja bufferise ta sortie, en cas d'erreur tu n'as pas une chiée de messages dans tous les sens relatif à différents fichiers. En cas d'erreur, il imprime tout seul comme un grand la commande de compilation qui a échouée ainsi que le/les messages d'erreurs