CMake as a language makes PHP look good. Whenever I have to use it, there's a whole lot of warnings and often errors, too. Problem is, the line CMake says had an error may not be the line that caused it. And when everything finally works, in comes a new version that breaks other builds again.
So why does a make need a debugger in the first place? Your build script shouldn't be such a complex program that warrants its own development project.
"CMake is too hard to debug, I'm stuck doing confusing print statements everywhere when I misconfigure something"
"Good news, we added a debugger"
"CMake has a debugger? Who would ever want that?"
Sigh.
Working on CMake has taught me a lot about the futility of pleasing everyone.
That's not my point. To make myself clear: CMake is terrible. You can put lipstick on a turd, but it's still a turd. Most languages have a build script written in their own language but C++ projects by and large use CMake.
It's the brittleness. It likes to work on the dev machine and not much else.
One of the challenges with using ImGui is that it is designed for game engines which always render a new frame each update of the game loop.
You can setup your ImGui program to only render new frames when there are new input events or your UI changes, but that’s not what the AI generated.
As it is now, it will max out one CPU core at 100% redrawing the same frames since glfwPollEvents() was used in the main loop.
I didn't know CMake introduced this debug adapter. This would have been very useful to me at some occasions.
Instead, I used printf debugging (aka `message(FATAL_ERROR )` debugging in CMake).
With this debug adapter, there also seem to be integrations in VSCode and CLion. I will have to try them out soon.
Great that you used AI to build something useful, but it’s still weird to me when someone says “I built this”. Maybe the more correct way to say this is “I spec’d this”
Having to debug the build system to your build system is something else.