web-dev-qa-db-fra.com

Comment déboguer les fichiers CMakeLists.txt?

Est-il possible de déboguer CMakeLists.txt fichiers (liste des variables au moins) à l'exception de l'instruction message ?

64
Peter

Il n'y a pas de débogueur interactif pour CMake, mais il y a aussi les drapeaux -Wdev, --debug-output et --trace qui pourrait aider. Pensez également à consulter les fichiers journaux CMakeFiles\CMakeOutput.log et CMakeFiles\CMakeError.log qui collecte principalement les résultats des processus appelés par CMake (par exemple lors de la vérification de la présence d'un type ou d'un en-tête).

Depuis la version 3.7 , CMake prend maintenant officiellement en charge le "mode serveur". L'intégration dans les IDE devrait donc s'améliorer dans un proche avenir. La prise en charge initiale existe à la fois dans Qt Creator et Visual Studio 2017 RC

51
Joe

Vous pouvez essayer d'utiliser le nouveau débogueur de script CMake fourni par l'outil VisualGDB . Il utilise un fork ouvert de CMake qui permet de parcourir les fichiers CMakeLists.txt, de définir des points d'arrêt code/données, d'évaluer/de modifier des variables, etc.

Il existe un didacticiel détaillé étape par étape sur le nouveau débogueur ici

6
Ivan Shcherbakov

Il existe steveire CMake Daemon Tools . Je ne les ai pas utilisées moi-même, mais ils prétendent offrir des possibilités d'introspection qui semblent être assez proches d'un débogueur.

Edit : Ils sont maintenant appelés CMake-server et font partie de CMake 3.7.

5
usr1234567

J'aime utiliser variable_watch pour "déboguer" mes fichiers CMakeLists.txt. Vient de placer en haut de mon script:

variable_watch(SOME_MY_VAR)
0
leanid.chaika