Search code examples
cmake

How can I debug CMakeLists.txt files?


How can I debug CMakeLists.txt files (at least doing things like listing of variables) other than just using the message() command?


Solution

  • At the time of originally writing this answer, there were no interactive debugger for CMake, but it was possible to use the flags -Wdev, --debug-output and --trace for additional information and 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

    Since version 3.27, CMake also supports the Debug Adapter Protocol and several IDE vendors (for example CLion or Visual Studio) now either support or have announced support for CMake debugging. How it works exactly depends on the specific IDE.