cmake, je sèche

Dans le projet Hatari, dans un CMakeLists.txt je trouve des lignes du type:


 COMMAND cp -R ${CMAKE_CURRENT_SOURCE_DIR}/gui-osx/*.lproj ${BUNDLE_CONTENTS}/Resources/

 COMMAND mkdir -p ${BUNDLE_CONTENTS}/Resources/en.lproj/HatariHelp

 

cp et mkdir sont des commandes de shell. Souhaitant détruire un fichier j'ai écrit:

  COMMAND rm ${BUNDLE_CONTENTS}/Resources/${xib}.xib 

 

Cette ligne fait planter le cmake -G Xcode. Soit il faut déclarer rm, soit l'argument n'est pas correct. J'ai essayé de lire le fichier CMakeError.log ! J'y trouve l'erreur 'sys/utime.h' file not found et je ne vois pas la relation avec rm ! Suite à  cela j'ai plongé dans la doc et je ne m'en sors pas !

 

Question: derrière COMMAND peut-on mettre n'importe quelle commande du shell ?

Avez-vous un conseil sur le sujet.

 

NB je dois dire que je ne suis pas fana de cmake !

Réponses

  • CéroceCéroce Membre, Modérateur

    C'est quand même bizarre que ça fonctionne pour cp et mkdir et pas rm.


    Déjà , vire CMakeError.log et réessaye. Parce que j'ai l'impression que l'erreur correspond à  un autre lancement.


     


    Pourrais-tu nous donner les messages d'erreur exacts de cmake ?


  • En relançant pour avoir l'erreur à  communiquer, j'ai trouvé l'erreur !


    La structure initiale est 


     


    foreach(xib ${HATARI_XIBS})


     add_custom_command (TARGET hatari POST_BUILD

       COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text

         --compile ${BUNDLE_CONTENTS}/Resources/${xib}.nib ${CMAKE_CURRENT_SOURCE_DIR}/gui-osx/${xib}.xib

        #(2)

        COMMENT "Compiling ${CMAKE_CURRENT_SOURCE_DIR}/gui-osx/${xib}.xib")

       #(1)

    endforeach()

     

    Et j'ai placé ma commande  en (1) au lieu de (2). C'est fou ce qu'on peut galérer parfois pour une bêtise !

    Désolé pour le dérangement.

Connectez-vous ou Inscrivez-vous pour répondre.