Utilisation de CMake avec GNU Make: Comment puis-je voir les commandes?
J'utilise CMake avec GNU Make et aimerait en voir de toutes les commandes exactement (par exemple, comment le compilateur est exécutée, tous les drapeaux, etc.).
GNU make a --debug
, mais il ne semble pas être qu'utile t-il d'autres options? Ne CMake fournir des options supplémentaires dans le Makefile pour le débogage but?
- Ou, ajouter des termes de recherche, Comment cacher complet, détaillé exécutés en lignes de commande et afficher uniquement les laconique calme pourcentage de couleur de sortie.
- Non CMake superset: stackoverflow.com/questions/5820303/...
mkdir build; cd build; cmake .. --debug-output; make VERBOSE=1
Vous devez vous connecter pour publier un commentaire.
Lorsque vous exécutez faire, ajouter
VERBOSE=1
pour voir l'intégralité de la commande de sortie. Par exemple:Ou vous pouvez ajouter
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
à la commande cmake permanente détaillé de la sortie de commande de la Makefiles générés.À réduire certains peut-être moins intéressant de sortie, vous pourriez utiliser les options suivantes. L'option
CMAKE_RULE_MESSAGES=OFF
de supprimer des lignes comme [ 33%] le Bâtiment C de l'objet..., tandis que--no-print-directory
dit de faire pour imprimer le répertoire courant filtrage des lignes commemake[1]: Entering directory
etmake[1]: Leaving directory
.cmake -GNinja . ; ninja -v
montre une très belle sortie commentée avec un minimum de peluches.cmake --build . -- VERBOSE=1
cmake .. -G"Unix Makefiles"
Il est commode de définir cette option dans la
CMakeLists.txt
du fichier:CMAKE_VERBOSE_MAKEFILE
doit être désactivé par défaut et un choix de l'utilisateur, s'ils en ont besoin, à des fins de débogage.Si vous utilisez le CMake GUI swap de pointe à la vue, puis l'option est appelée CMAKE_VERBOSE_MAKEFILE.
Ou tout simplement à l'exportation DÉTAILLÉ de la variable d'environnement du shell comme ceci:
export VERBOSE=1
J'ai essayé quelque chose de similaire pour assurer la
-ggdb
drapeau était présent.Faire appel à un répertoire propre et grep le drapeau que vous recherchez. La recherche de
debug
plutôt queggdb
je voudrais juste écrire.make VERBOSE=1 | grep debug
La
-ggdb
drapeau a été assez obscure que seul le compiler les commandes ont sauté.