Est-il possible de déboguer CMakeLists.txt
fichiers (liste des variables au moins) à l'exception de l'instruction message ?
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
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
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.
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)