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

Outils Discussion :

QMake ou CMake ?


Sujet :

Outils

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Par défaut QMake ou CMake ?
    bonjour,

    je suis novice la dessus... j'ai entendu parler de cmake, quel est l'avantage de cmake sur qmake? aussi qtcreator utilise qmake par default, est il possible d'utiliser un .pro avec cmake? j'aimerais comprendre en gros comment cela fonctionne, pour savoir si cela vaut le coup pour mon developpement.

    merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    J'utilise beaucoup CMake et je ne connais qu'un peu qmake mais qmake me laisse l'impression d'être vraiment adapté à des projets Qt mais c'est tout.

    Si ton projet n'utilise que Qt, qmake te simplifiera énormément la vie. Tout est géré.

    Avec CMake, il faudra écrire un peu plus de choses pour pouvoir faire fonctionner ton projet Qt. Toutefois, en dehors de Qt, les possibilités de CMake sont largement plus évoluées que celles de qmake :
    • Configuration du projet (recherche de librairies, de symboles, d'headers...)
    • Génération de fichiers projets natifs (Makefile, solutions Visual Studio, projet XCode, projet Eclipse...)
    • Bibliothèque de modules très riches (Boost, Qt, pythonlibs, jni, swig, GTK, OpenGL, KDE, Lua, Motif ...)
    • Customisation très elevée (génération de fichiers avec des outils persos...)
    • Gestion des tests unitaires
    • Packaging
    • Rapport de compilation, de tests, de couverture, d'analyse mémoire (couplé avec CDash)


    Pour résumer, mais ce n'est que mon avis personnel, si le projet n'utilise que Qt et quelques autres librairies, qmake. Si le projet vient à se complexifier et doit marcher dans différents environnements sur différentes machines, CMake.

    Il n'y a pas d'utilisation possible d'un .pro dans CMake sauf à court-circuiter CMake, c'est-à-dire utiliser CMake pour lancer qmake. Toutefois, il doit exister un script pour convertir un .pro en un CMakeLists.txt.

    Tu peux jeter un coup d'oeil au post suivant que j'ai envoyé ce soir.
    http://www.developpez.net/forums/d86...e/#post4915251

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Par défaut
    merci de ton aide...

    oui je dois generer mon projet sous xcode en 32b et 64b et visual en 32b et 64b...
    donc tu penses que cmake serait plus adapte pour moi?

    une autre question .. je genere toutes mes interfaces avec QTDesigner... CMake me permet il de lancer directement QTDesigner et generera t'il directement les moc_.cpp et les ui_.h?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    oui je dois generer mon projet sous xcode en 32b et 64b et visual en 32b et 64b...
    qmake ne génère que des Makefiles. Il ne te permet pas de générer un projet XCode ou une solution Visual Studio. Donc, oui, CMake s'avérera plus approprié dans ce cas.

    je genere toutes mes interfaces avec QTDesigner... CMake me permet il de lancer directement QTDesigner et generera t'il directement les moc_.cpp et les ui_.h?
    CMake ne te permettra pas de lancer qtdesigner (sauf si tu écris une règle qui grosso modo fera qtdesigner mais ça n'a pas beaucoup d'intérêt). Par contre, il pourra prendre en compte les .ui générés avec qtdesigner. Il s'agit des macros QT4_WRAP_UI, qui génére les ui_.h et QT4_WRAP_CPP, qui génére les moc_.cpp.

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par aoyou Voir le message
    qmake ne génère que des Makefiles. Il ne te permet pas de générer un projet XCode ou une solution Visual Studio.
    pour générer un projet visual
    qmake -tp vc
    et pour xcode, il demble exister la même chose
    le fichier généré pour les ui et autre sont faite lors de la compilation. C'est pas cmake ou qmake qui le fait, il ajoute juste la génération dans les makefiles.

    Perso, j'ai toujours des problème quand j'utilise un cmake... Mais quand ca marche, ca marche.

    Il existe aussi http://www.scons.org/ qui semble pas mal.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Oups, j'ai été trop médisant...

    Je me suis basé sur l'introduction de qmake à la page http://qt.developpez.com/doc/4.3/qmake-manual/ et il ne parle que de génération automatique de Makefiles.

    C'est bon à savoir. Est-ce que qmake gère la régénération de la solution lorsque le .pro est modifié au sein de Visual Studio ?

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par aoyou Voir le message
    C'est bon à savoir. Est-ce que qmake gère la régénération de la solution lorsque le .pro est modifié au sein de Visual Studio ?
    Peut être le plugin.
    Sinon, ce que je fait, Après avoir modifier le .pro, je régénère le vcjproj. Mais bien sur cela le réécrit entièrement.

Discussions similaires

  1. [Compilation] Conversion de qmake à cmake
    Par alpha_one_x86 dans le forum Outils
    Réponses: 0
    Dernier message: 26/01/2010, 13h35
  2. gros probleme qt et VC++ (erreur qmake)
    Par _LVEB_ dans le forum Qt
    Réponses: 14
    Dernier message: 25/02/2007, 14h33
  3. Problèmes d'installation : KDevelop / KUbuntu / CMake
    Par Feriaman dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 03/02/2007, 23h55
  4. cmake vs automake vs bjam
    Par epsilon68 dans le forum Choisir un environnement de développement
    Réponses: 16
    Dernier message: 14/11/2006, 09h22
  5. integrer qmake de QT à visualc++
    Par madura96 dans le forum MFC
    Réponses: 2
    Dernier message: 02/02/2006, 00h20

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