dcmake is a new native GUI debugger for CMake, built on top of CMake's --debugger mode (available since CMake 3.27) which uses the Debug Adapter Protocol (DAP). The tool features a Dear ImGui interface with docking support, familiar Visual Studio keybindings (F5/F10/F11, breakpoints, variable hover), and runs natively on macOS (GLFW/OpenGL 3), Linux (GLFW/OpenGL 3), and Windows (Win32/DirectX 11). The author built a working prototype in 30 minutes and a complete multi-platform GUI in a single day, crediting AI-assisted UI development. dcmake supports CMake configuration mode and -P script mode, persists UI state across sessions, and will be bundled in the next w64devkit release.

4m read timeFrom nullprogram.com
Post cover image

Questions this post answers

Does CMake have a built-in debugger mode and since which version?

CMake has a --debugger mode since version 3.27 (released July 2023). It exposes an interactive debugging interface via the Debug Adapter Protocol (DAP), an HTTP-like protocol passing JSON messages. Through DAP, front-end tools can start, stop, step, set breakpoints, and query variables in a live CMake process. Teams debugging complex CMake build systems track tooling like dcmake on daily.dev.

Can I use a graphical debugger to step through CMake scripts?

Yes, dcmake is a native GUI debugger for CMake that supports stepping through CMakeLists.txt and -P script mode invocations. It uses familiar keybindings (F10 step over, F11 step in, F5 continue), click-to-toggle breakpoints, and variable hover. It runs natively on macOS, Windows, and Linux. Debugging --build invocations is not supported, as no CMake logic remains at that stage. Developers wrestling with CMake configuration bugs find tools like dcmake discussed on daily.dev.

2 Impressions