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

 C++ Discussion :

Compilation CMake : [Win/Linux]+Codeblocks+Qt+Cmake ?


Sujet :

C++

  1. #1
    Membre habitué
    Homme Profil pro
    Doctorant en Astrophysique
    Inscrit en
    Mars 2009
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Astrophysique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2009
    Messages : 312
    Points : 176
    Points
    176
    Par défaut Compilation CMake : [Win/Linux]+Codeblocks+Qt+Cmake ?
    Bonjour à tous.

    Habituellement, que ce soit sous Windows (avec MinGW dans ce cas) ou sous Linux, j'utilise Codeblocks comme IDE que j'ai configuré pour utiliser des Makefile non "auto-générés" pour pouvoir coder tout ça tranquillement avec Qt. Tout ce petit monde fonctionne bien ensemble et j'en suis très content.

    Oui mais voilà, le problème c'est que je souhaite utiliser une biblio graphique 3D et beaucoup d'entre elles (OGRE par exemple) utilisent CMake. Déjà que le rôle exact de CMake m'est un peu étranger, est-ce que quelqu'un pourrait m'indiquer où est-ce qu'il va trouver sa place au sein des divers programmes du paragraphe précédent. En clair à quoi ressemblera mon processus de génération (actuellement pour compiler sous Codeblocks : j'ai réglé un outil personnalisé qui me génère mon Makefile Qt, et ensuite j'ai juste à cliquer sur "Compiler" et ça tourne...) ?

    Merci beaucoup

  2. #2
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Doubs (Franche Comté)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    Bonsoir,

    Je ne connais pas assez Qt et son système de compilation particulier (qui personnelement me rebute à l'utiliser ...) pour pouvoir t'aider à "mixer" Qt avec les autres éléments.

    Tu connais déjà makefile ? Il permet d'indiquer comment réaliser la chaine de compilation pour obtenir le produit final. Cependant il existe d'autre moyen de faire ces indication : utiliser un ide avec un fichier de projet qui conitent toutes les informations qu'il faut. CMake permet de générer à partir d'un même fichier ce que tu as besoin pour ensuite executer ta chaine de compilation.

    En clair, il permet de ne pas avoir à écrire à la fois un fichier make, un projet VC, un projet CB, ... pour que chacun puisse compiler ton projet. A la place tu as un seul fichier, et chacun exectue cmake sur ce fichier pour obtenir ce qu'il a besoin pour compiler sur sa machine : un makefile ou un fichier de projet pour tel ide selon les préférences de chacun.

  3. #3
    Membre habitué
    Homme Profil pro
    Doctorant en Astrophysique
    Inscrit en
    Mars 2009
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Astrophysique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2009
    Messages : 312
    Points : 176
    Points
    176
    Par défaut
    Bon avant d'essayer de compiler Ogre, j'essaye déjà de comprendre comment utiliser CMake mais même avec des tutos, je ne suis pas sûr de saisir le sens de la chose (je précise que je maîtrise les bases des makefile sous Linux).

    J'ai fait un projet tout simple avec 3 fichiers Qt sous Codeblocks. Une compilation comme je le fais d'habitude avec un simple clic sur "compile" me sors un joli .exe.

    Bon alors maintenant pour essayer avec CMake, je commence par créer un fichier CMakeLists.txt dans le répertoire racine de mon projet (là où il y a les .cpp et les .h).

    Dedans, je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    PROJECT(glqt)
    FIND_PACKAGE(Qt4 REQUIRED)
     
    SET(glqt_SOURCES main.cpp glwidget01.cpp)
    SET(glqt_HEADERS glwidget01.h)
    SET(QT_USE_QTOPENGL TRUE)
     
    QT4_WRAP_CPP(glqt_HEADERS_MOC ${glqt_HEADERS})
     
    INCLUDE(${QT_USE_FILE})
    ADD_DEFINITIONS(${QT_DEFINITIONS})
     
    ADD_EXECUTABLE(glqt ${glqt_SOURCES} 
        ${glqt_HEADERS_MOC})
    TARGET_LINK_LIBRARIES(glqt ${QT_LIBRARIES})
    Ensuite j'utilise le Gui de Cmake, je clique sur Configure puis Generate.
    Suite à quoi j'ai dans mon dossier racine les nouveaux fichiers/dossiers suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CMakeFiles/
    cmake_install.cmake
    CMakeCache.txt
    CMakeLists.txt
    moc_glwidget01.cxx_parameters
    avec le CMakeFiles qui contient 27 fichiers répartis dans 6 dossiers avec tous des noms assez exotiques. Mais parmi tous ces fichiers, pas l'ombre d'un .exe.

    Je ne dois donc pas bien saisir le rôle de cmake... Une fois que je suis passé par cette étape, je suis sensé faire quoi ?

    Merci

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    CMake est un générateur de makefile. Un tutoriel est disponible : Initiation à CMake de Florien Goujeon

Discussions similaires

  1. Probème de compilation d'un projet qt avec cmake.
    Par Battant dans le forum Systèmes de compilation
    Réponses: 0
    Dernier message: 14/01/2013, 00h48
  2. CMake + CPack [Linux]
    Par thereisnoknife dans le forum Systèmes de compilation
    Réponses: 1
    Dernier message: 03/08/2011, 00h34
  3. Compilation de projet VisualStudio generer avec CMake
    Par blazed dans le forum Systèmes de compilation
    Réponses: 0
    Dernier message: 04/12/2010, 15h46
  4. partage de connexion win-linux
    Par ynnotna dans le forum Développement
    Réponses: 2
    Dernier message: 15/07/2003, 16h38
  5. Réseau Win/Linux
    Par ben91 dans le forum Développement
    Réponses: 2
    Dernier message: 08/09/2002, 23h59

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