+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Membre habitué
    Homme Profil pro
    Doctorant en Astrophysique
    Inscrit en
    mars 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : mars 2009
    Messages : 313
    Points : 143
    Points
    143

    Par défaut CMake et gestion des dossiers (+ Qt)

    Bonjour.

    J'ai beaucoup de mal avec la gestion des dossiers sous CMake. Ce que je veux faire est assez simple et pourtant, je n'y arrive pas.

    Mon problème basique est le suivant :
    J'ai les dossiers :
    Code :
    1
    2
    3
    4
    5
    6
    7
    project/bin
    project/obj
    project/src
    project/src/main.cpp
    project/src/mainwindow.cpp
    project/src/mainwindow.h
    project/CMakeLists.txt
    J'exécute cmake à la racine "project/" et il me produit un Makefile dans ce même dossier. Quand je tappe make je veux que :
    - il compile src/main.cpp, src/mainwindow.cpp, src/mainwindow.h
    - il mette tous les fichiers temporaires dans "project/obj" (y compris les .moc de Qt)
    - il produise mon exécutable dans "project/bin"

    Cela ne semble pas d'une originalité folle, mais j'ai eu beau bidouiller et tester pas mal de chose, rien ne semble fonctionner

    Comment faire ?

    Merci beaucoup

  2. #2
    Membre Expert
    Inscrit en
    mars 2005
    Messages
    865
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 865
    Points : 1 060
    Points
    1 060

    Par défaut

    Tu compiles dans obj/ en configurant cmake dans obj/.
    Code :
    1
    2
    3
    4
     
    cd project/obj/
    cmake ..
    make
    Et pour que l'exécutable soit dans bin/, tu ajoutes dans le CMakeLists
    Code :
    1
    2
     
    set(EXECUTABLE_OUTPUT_PATH ../bin/)

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •