Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
dev:cpp:iwyu_et_cmake [2014/11/05 01:24]
sdinot
dev:cpp:iwyu_et_cmake [2014/11/05 01:28] (Version actuelle)
sdinot Fin de la rédaction initiale
Ligne 11: Ligne 11:
   * On ajoute à la ligne de commande de CMake l'​option « -DCMAKE_EXPORT_COMPILE_COMMANDS:​BOOL=ON » qui conduit CMake à copier dans un fichier nommé « compile_commands.json » toutes les commandes de compilation requises.   * On ajoute à la ligne de commande de CMake l'​option « -DCMAKE_EXPORT_COMPILE_COMMANDS:​BOOL=ON » qui conduit CMake à copier dans un fichier nommé « compile_commands.json » toutes les commandes de compilation requises.
  
-<code shell>​user@host:​~$ cd /​path/​to/​build ​cmake -DCMAKE_EXPORT_COMPILE_COMMANDS:​BOOL=ON /​path/​to/​sources</​code>​+<code shell>​user@host:​~$ cd /​path/​to/​build 
 +user@host:​build$ ​cmake -DCMAKE_EXPORT_COMPILE_COMMANDS:​BOOL=ON /​path/​to/​sources</​code>​ 
 + 
 +  * On se place dans le répertoire de compilation et on lance le script Python en lui passant en paramètre le nom du fichier dans lequel CMake a enregistré les commandes de compilation :​ 
 + 
 +<code shell>​user@host:​~$ cd /​path/​to/​build 
 +user@host:​build$ iwyu.py compile_commands.json</​code>​ 
 + 
 +On obtient ainsi la liste des modifications suggérées. Au passage, il faut être critique vis-à-vis de ces suggestions. Si beaucoup sont pertinentes,​ IWYU ne sait pas distinguer interfaces publiques et privées et a tendance à proposer de remplacer les premières par les secondes. C'est une erreur à ne pas commettre.