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 :

Comment utiliser cmake ?


Sujet :

Systèmes de compilation

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut Comment utiliser cmake ?
    Bonjour à tous,

    je suis actuellement en train de migrer un projet vers Cmake, et je cherche un tutorial ou un cours permettant de débuter facilement sur celui ci.

    Les exemples que j'ai trouvé sont assez restreint, et plutot cantonné sur des petits projets ne correspondant pas à ma situation.

    En effet, mon projet doit linker une librairie statique pour le moment (pjsip) et gtk, librairie dynamique ... pour ensuite être compilé sur une plateforme type ARM.

    Je n'ai pas l'habitude de ce genre de problème, et ne sais pas par quel bout l'attaquer.

    Je suis donc à la recherche d'un tutorial assez clair expliquant le fonctionnement de CMake ou de pistes permettant de réaliser les actions suivantes avec CMake :
    - linker une librairie statique
    - linker GTK
    - cross compiler.

    Merci beaucoup.

    PS : je ne sais pas si ce message est dans la bonne section du forum, merci de bien vouloir m'excuser si celui ci est mal placé.

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Pour Gtk, il existe déjà un module tout prêt.
    http://cmake.org/cmake/help/cmake2.6...module:FindGTK

    pjsip est une librairie de ton projet ?

    Pour ce qui est de l'utilisation de Gtk, il te suffira de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    find_package (GTK REQUIRED)
     
    include_directories (${GTK_INCLUDE_DIR})
     
    add_executable (mon_executable mes_sources)
    target_link_libraries (mon_executable ${GTK_LIBRARIES})
    CMake a des capacités de cross-compilation mais je n'ai jamais essayé et je n'ai aucune idée si cela fonctionne avec AMR.
    Ceci te donnera peut-être des idées...
    http://www.vtk.org/Wiki/CMake_Cross_Compiling
    http://www.cmake.org/pipermail/cmake...ly/010390.html
    http://www.cmake.org/pipermail/cmake...er/017856.html

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    Merci beaucoup.

    Il faut donc mettre findGTK.cmake dans le dossier qui contient l'appel GTK, et ensuite, ajouter le bout de code à CMakeLists.txt si j'ai bien compris.

    Pour PJSIP, c'est une librairie disponible sur Internet. Je vais l'ajouter dans un dossier de mes sources, et la linker avec add_library

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    FindGTK.cmake est fourni dans la distribution de CMake. Inutile de le copier.

    Pour PJSIP, tu peux la mettre dans un de tes dossiers mais ce n'est pas très portable. CMake fonctionne plutôt par recherche de la librairie sur la plateforme cible. Si CMake ne trouve pas la librairie, à toi de la spécifier dans le cache de CMake. Pour cela, il faut écrire un module FindXXX.cmake... si personne ne l'a encore fait. C'est assez simple, inspire-toi des petits modules de CMake.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  2. Comment utiliser un cache ?
    Par TOM-Z dans le forum XMLRAD
    Réponses: 4
    Dernier message: 14/03/2003, 09h55
  3. comment utiliser actionscript ?
    Par webs dans le forum Flash
    Réponses: 3
    Dernier message: 09/02/2003, 23h11
  4. Comment utiliser OUT ?
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 20/07/2002, 09h35
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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