IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Systèmes de compilation Discussion :

Alternative aux makefiles, cmake (sans EDI)


Sujet :

Systèmes de compilation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Avatar de Songbird
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Juin 2015
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2015
    Messages : 494
    Billets dans le blog
    8
    Par défaut Alternative aux makefiles, cmake (sans EDI)
    Bonjour,

    Cette question a déjà dû être posée, mais je souhaiterais simplement savoir si il existe une alternative à cmake sans avoir recours à un ide ?

    Pas que cmake soit (inutilement) chiant, pour rester poli, mais un peu quand même.

    J'ai fait le tour des sites comparatifs, mais ils mettent cmake dans le même panier que ant et maven, alors que ce dernier se répètent quand même beaucoup moins que les deux autres.

    Auriez-vous des outils de build, que vous utilisez au quotidien, et que vous recommanderiez ? (n'hésitez pas à me renvoyer autre part si il y a déjà une réponse exhaustive)

    Je vous remercie d'avance pour votre réponse,

    Cordialement,

    Songbird.

  2. #2
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 770
    Par défaut
    Et un simple script bash , à base de cd, mv, et gXX.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/bin/bash
     
    cd ../Project_DFM_parser/Sources/Classes/ 
    gcc -Wall -c Stack_ints.c -o Stack_ints.o
    gcc -Wall -c One_Element.c -o One_Element.o
    mv Stack_ints.o ../../../debug/.objs_gcc/Stack_ints.o
    mv One_Element.o ../../../debug/.objs_gcc/One_Element.o
    cd ../Parser/
    gcc -Wall -c State_Machine.c -o State_Machine.o
    gcc -Wall -c Parser.c -o Parser.o
    mv State_Machine.o ../../../debug/.objs_gcc/State_Machine.o
    mv Parser.o ../../../debug/.objs_gcc/Parser.o
    cd ../../../debug/
    gcc -Wall -o main ../Project_DFM_parser/mains/main.c .objs_gcc/Stack_ints.o .objs_gcc/One_Element.o .objs_gcc/State_Machine.o .objs_gcc/Parser.o
    Les problèmes:
    • Les chemins: en relatif ou en absolu. Cela peut poser problème si tu déplaces ton script.
    • Tu vas tout recompiler. À moins de faire plus compliqué et de faire des tests d'existence.

  3. #3
    Membre Expert

    Avatar de Songbird
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Juin 2015
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2015
    Messages : 494
    Billets dans le blog
    8
    Par défaut
    Salut,

    Merci pour ta réponse aussi rapide. :o

    Et un simple script bash , à base de cd, mv, et gXX.
    Oui, j'y avais pensé, mais cela sous-entend qu'il faut réinventer la roue carrée à chaque nouveau départ. C'est marrant deux minutes.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Hello

    Cmake est très très imparfait, mais il reste l'outil de-facto pour le C/C++. Il y a scons que personnellement je n'apprécie pas. Et il y aussi Bazel qui est encore un peu trop neuf pour savoir ce que ça va donner, mais c'est moderne pour sûr.

  5. #5
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par défaut
    Pour ma part je garde un oeil attentif a Gradle avec son module C++ et la partie génération de solution visual studio en cours de dev.
    https://gradle.org/getting-started-native/

  6. #6
    Membre Expert Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Par défaut Nouveau
    Bonjour,

    J'ai essayé make, ant et maven, franchement des trois, je retiens le dernier, mais c'est pas simple

    Il existe, et j'ai essayé cela sur des plate-formes de dev en mobile de nouveaux outils de builds,
    et franchement ils sont faciles à mettre en oeuvre et très puissants, ils sont issus du monde Node.js
    et j'adore. Je parle de grunt et surtout de Gulp.

    Je connais moins Gradle, mais il semble à la mode.

    Olivier

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 53
    Par défaut
    Il me semble que qmake (il n'est pas exclusif à QT) est aussi un candidat, par contre de là à dire qu'il est moins enquiquinant et/ou plus pratique que cmake... question d'habitude je pense

  8. #8
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 760
    Par défaut
    Au boulot on utilise bjam, c'est celui utilisé et maintenu par boost (on écrit du jam et/ou du python). Pour des choses simples, je le trouve plus facile que cmake, mais la doc est difficile, voir incomplète.

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 307
    Par défaut
    Citation Envoyé par jo_link_noir Voir le message
    Au boulot on utilise bjam, c'est celui utilisé et maintenu par boost (on écrit du jam et/ou du python). Pour des choses simples, je le trouve plus facile que cmake, mais la doc est difficile, voir incomplète.
    Pareil j'utilise aussi bjam et bbv2 (boost build v2). La syntaxe de jam est un peu spéciale, et la doc incomplète par contre il est facile d'avoir de l'aide sur la mailing liste. Il me permet de compiler facilement sous windows et linux avec différents compilos/env (cl, gcc, clang).

    Sinon il y a aussi waf/scons qui peuvent etre interessants, car le language est python (donc un "vrai" language avec une syntaxe correcte + de la doc).

  10. #10
    Membre Expert

    Avatar de Songbird
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Juin 2015
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2015
    Messages : 494
    Billets dans le blog
    8
    Par défaut
    Re-bonjour,

    Merci pour toutes vos réponses.

    Pour te répondre koala:

    L'idéal est donc forcément d'arriver à en manipuler un maximum, histoire d'au moins "déjà savoir de quoi il retourne" quand tu intègre une équipe de dev qui utilise ce genre d'outils.
    Sauf que, pour le moment, je n'ai pas du tout l'intention de travailler en prod avec C++, donc j'aimerais me faire la main avec un outil qui me plaît plutôt que de me prendre des douches froides à chaque fois que je change de projets.

    Tu te plains de cmake as-tu jamais essayé les autotools (autoconf, automake, libtool et tout le reste) sous linux
    Oui, je m'en plaint, quand on voit la qualité des gestionnaires de paquets/projets contemporains(Cargo, pub, NodeJS), j'aurais bien du mal à retourner bosser avec Ant. D'où mon voeu de me renseigner.

    En bref, je ne souhaite pas travailler avec cet outil, je souhaite changer d'outil.

    Ayant maintenant des éléments de réponses, je vais aller me renseigner.

  11. #11
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Yo

    Il ne faut pas mélanger la toolchain de build et le package manager. Si ce sont deux outils qui travaillent ensemble et/ou sont implémentés ensemble, ce n'est pas nécessairement le cas.

    C++ est connu pour sa faiblesse en gestion des dépendances/modules. C'est un vieux sujet qui est difficile à traiter. Ceci dit, quelques courageux se sont lancés dans l'aventure, le plus abouti à ce jour il me semble, c'est Conan.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. alternatives aux curseurs sans succès
    Par maxtin dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 21/09/2006, 14h15
  2. [CSS] Tableau aux coins arrondis (Sans images)
    Par FrankOVD dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 01/12/2005, 10h45
  3. alternatives aux propriétés filter sous mozilla
    Par rol666 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/08/2005, 19h23
  4. [Applet] alternative aux applets
    Par topaze dans le forum Applets
    Réponses: 18
    Dernier message: 09/12/2004, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo