How do I debug CMakeLists.txt files?
Is there a possibility to debug CMakeLists.txt
files (at least listing of variables) except for the message statement?
There is no interactive debugger for CMake, however there are also the flags -Wdev
, --debug-output
and --trace
which might help. Also remember to check the log files CMakeFiles\CMakeOutput.log
and CMakeFiles\CMakeError.log
which mainly collect outputs of processes called by CMake (for example while checking for presence of a type or header).
Since version 3.7, CMake now officially supports a "server mode" so integration in IDEs is likely to improve in the near future. Initial support exists both in Qt Creator and Visual Studio 2017 RC
You can try using the new CMake Script Debugger provided by the VisualGDB tool. It uses an open-source fork of CMake that supports stepping through CMakeLists.txt files, setting code/data breakpoints, evaluating/changing variables, etc.
There's a detailed step-by-step tutorial on the new debugger here
I like to use variable_watch to "debug" my CMakeLists.txt files. Just set in top of my script:
variable_watch(SOME_MY_VAR)