2010-12-01 33 views
1

Comment puis-je voir les invocations g ++ provoquées par l'exécution de make? Je génère mon makefile en utilisant cmake, donc c'est assez grand.Comment puis-je voir les invocations provoquées par l'exécution de fichiers make générés par cmake?

Utilisation verbeux = 1, CMake cache encore les g ++ invocations:

[ 0%] Building CXX object ui/CMakeFiles/ui.dir/mainwindow.cc.o 
In file included from /Users/neil/nn/src/ui/mainwindow.h:6, 
       from /Users/neil/nn/src/ui/mainwindow.cc:9: 
/Users/neil/nn/src/./core/globals.h:8:26: error: glog/logging.h: No such file or directory 

Je veux voir si elle est en passant le droit comprennent des administrateurs à g ++ parce qu'il est de ne pas trouver glog/logging.h

+0

Etes-vous sûr d'utiliser make sans emballage ou autre? Essayez 'which make 'et' unalias make'. – tibur

+0

qui fait: "/ usr/bin/make" –

+0

Je pense que cmake génère un fichier makefile qui invoque g ++ via une sorte de wrapper, donc votre intuition est bonne. –

Répondre

2

Peek dans le répertoire CMakeFiles/ui.dir/; vous serez probablement intéressé par le fichier flags.make, bien que la partie non-incluse de l'invocation g++ soit stockée dans build.make.

0

Vous pouvez définir le niveau de verbosité avec make VERBOSE="" (source).

+0

oh, désolé, laissez-moi mettre à jour la question. –

2

Essayez:

make VERBOSE=TRUE

+0

n'a pas fonctionné, malheureusement. –

+0

Bizarre: ça marche pour moi. – tibur

+0

est votre makefile généré avec cmake? –

0

Run CMake avec -DCMAKE_VERBOSE_MAKEFILE = « ON »

Il y a encore beaucoup de bruit, donc vous devrez peut-être vider stdout & stderr dans un fichier et grep le nom du compilateur ...

0

de l'invite du shell:

VERBOSE=1 make 

(qui est, exécutez make avec VERBOSE ensemble variable d'environnement 1).