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

Autres éditeurs Discussion :

Cmake add_custom_command et depends


Sujet :

Autres éditeurs

Vue hybride

condo4 Cmake add_custom_command et... 09/03/2009, 18h19
condo4 Solution au probleme 1 10/03/2009, 10h25
condo4 Reponse au probleme 2 10/03/2009, 11h26
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 3
    Par défaut Cmake add_custom_command et depends
    Bonjour,

    Je débute sous cmake, mais mes besoin sont déjà important.
    Je souhaite compiler un projet avec cmake, ce projet pour compiler doit générer cetain fichier a l'aide d'une commande
    En gros, si j'ai monfichier.toto, une commande me permet de générer monfichier.c en dépendant de pleinfichiers.xml
    Pour connaitre la liste des fichier xml dont je dépend, un appel a macommand monfichier.toto -deps me retourne, sur plusieur ligne, la liste des fichiers de dépendance.
    J'avais écris la rêgle suivante :

    FILE(GLOB_RECURSE toto_files ../../*.toto)
    FOREACH(loop_var ${toto_files})
    MESSAGE(STATUS "Generate ${loop_var}")
    EXECUTE_PROCESS(COMMAND totobuilder ${loop_var} -monoption magic -deps OUTPUT_VARIABLE deps)
    STRING(REPLACE "\n" " " deps "${deps}")
    STRING(REPLACE ".toto" ".c" res "${loop_var}")
    MESSAGE(STATUS "${loop_var} need ${deps}")

    ADD_CUSTOM_COMMAND(
    OUTPUT ${res}
    COMMAND totobuilder ${loop_var} -monoption magic
    DEPENDS ${loop_var} ${deps}
    )
    ENDFOREACH(loop_var)


    Les problème :
    1)
    Déjà sur les dépendences, si ma commande retourne :
    tutu.xml
    titi.xml
    tyty.xml
    je pense créer la string :
    tutu.xml titi.xml tyty.xml
    Pourtant dans le makefile généré, je me retrouve avec une regle :
    monfichier.c: tutu.xml\ titi.xml\ tyty.xml\
    notez les "\" qui font que rien ne marche!!!


    2)
    Lorsque la commande est trop longue, j'ai l'impression qu'il "wrap" le makefile, du coup parfois " -monoption magic" se retrouve sur la ligne suivante, et rien ne marche non plus....



    3)
    dernier problème, mais un peu indépendant celui la, j'ai besoin de compiler les fichier C (*.c) avec g++, le pb, dans le fichier CMakeFiles/CompilerIdC/CMakeCCompilerId.c il ecrit au début du fichier les ligne suivante :
    #ifdef __cplusplus
    # error "A C++ compiler has been selected for C."
    #endif
    Comment éviter cela ???


    Merci d'avance pour vos réponses.


    @+

  2. #2
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 3
    Par défaut Solution au probleme 1
    Bonjour,
    Ce matin, je viens de trouver la solution au 1er problème, en faite, il suffit de remplacer les \n non pas par des espaces mais par des ";"

    CMAKE l'interprète correctement et écrit les dépendances dans le makefile sur des lignes séparés.

    Reste encore 2 problème à résoudre....

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 3
    Par défaut Reponse au probleme 2
    Re,

    J'ai trouvé mon problème de retour a la ligne.
    Dans
    EXECUTE_PROCESS(COMMAND dirname ${loop_var} OUTPUT_VARIABLE dir_path)

    En faite, la variable retourné par dirname contient en \n
    J'ai donc fait un
    STRING(REPLACE "\n" "" dir_path "${dir_path}")

    Et pour mon pb de C++ avec des fichier C, le problème n'est pas présent en CMAKE 2.4 mais présent en 2.6
    Donc pour le moment, je suis revenu a la 2.4

Discussions similaires

  1. Dependances Fonctionnelles
    Par Xiao-An dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 15/02/2005, 15h12
  2. fermeture de dependance fonctionnelle
    Par djay dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 26/01/2005, 14h09
  3. Les différences entre association et dépendance ?
    Par sephile dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 12/01/2005, 13h43
  4. [JBuilder X][Exécutable] Gestion de dépendances
    Par marevinc dans le forum JBuilder
    Réponses: 3
    Dernier message: 16/11/2004, 09h08
  5. Packages - problème de dependances
    Par Invité dans le forum Administration système
    Réponses: 3
    Dernier message: 14/06/2004, 10h46

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