Y’a déjà tous les arguments dans ce thread mais de bonne grâce :
Make et les makefiles sont une plaie à écrire (tabulation, variables cryptiques), maintenir, dépourvu d’outils haut niveau et plutôt orienté unixoïde.
cmake est le standard de facto pour le C++. Il permet de supporter nativement plusieurs système de build différents (make, ninja, XCode, VS,…) sur des OS différents (linux, MacOS, Windows).
Il permet d’avoir gratuitement une compilation en dehors des sources, de mème que différents jeu de compilation (release, debug, debug optimise).
Avec une écriture moderne des cmake a base de target, on aussi la propagation automatique des dépendances (flags, bibliotheques,…) entre les différentes targets d’un projet.
Les mécanismes automatiques pour trouver les paquets et bibliotheque, l’integration avec conan….
Bref : Je le redis mais make est l’assembleur du système de build sous Linux.
Y’a déjà tous les arguments dans ce thread mais de bonne grâce :
Make et les makefiles sont une plaie à écrire (tabulation, variables cryptiques), maintenir, dépourvu d’outils haut niveau et plutôt orienté unixoïde.
cmake est le standard de facto pour le C++. Il permet de supporter nativement plusieurs système de build différents (make, ninja, XCode, VS,…) sur des OS différents (linux, MacOS, Windows).
Il permet d’avoir gratuitement une compilation en dehors des sources, de mème que différents jeu de compilation (release, debug, debug optimise).
Avec une écriture moderne des cmake a base de target, on aussi la propagation automatique des dépendances (flags, bibliotheques,…) entre les différentes targets d’un projet.
Les mécanismes automatiques pour trouver les paquets et bibliotheque, l’integration avec conan….
Bref : Je le redis mais make est l’assembleur du système de build sous Linux.
Nan mais si tu n’as qu’un seul fichier sans subtilité particulière alors un simple appel a g++/clang++ suffit. C’est ce que j’utilise quand je veux tester un point du langage.
Dans tous les autres cas (au moins 2 fichiers, bibliothèques a intégrer …) c’est un projet et avoir un outil plus haut niveau est justifié.
Nan mais si tu n’as qu’un seul fichier sans subtilité particulière alors un simple appel a g++/clang++ suffit. C’est ce que j’utilise quand je veux tester un point du langage.
Ben comme je disais plus haut, le Makefile permet dans ce cas en une ligne de préciser les options de compilation, ce qui est assez pratique.
Plus que de créer un script shell avec la ligne de compilation par exemple.
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte