I know this question has been asked before, but I still can’t quite figure it out. Regarding the toolchain, I am using CMake 3.27, ninja for the generator, and arm-none-eabi for the GCC compiler toolchain, where my host machine is Windows, and the target firmware is built against a Cortex-M.
After building, I would like to create a post-build step that parses the resulting log file and pulls out all the compiler warnings (there are a lot in this project I have inherited). The problem is that the log file Ninja creates has no compiler warnings; stdout is the only place I can see the compiler warnings.
Not that it matters, but I am using CMakePresets, so when I build, technically, I could do something like this:
cmake --build --preset foo >> build_log.txt
However, I have a group of devs, so each one would have to remember to type that exact command, or, I would have to wrap it in a script, but that adds another layer of complexity. Presets have been the norm for the team, but I can’t ask people to also create log files. Instead, I want to find a way to do this implicitly.
I *almost had things working in a hacky sort of way, by leveraging CMAKE_RULE_LAUNCH_COMPILE. I never did get it working, as it was kind of an abuse of functionality on my end, but it was worth a try.
Anyway, do you know of any hacks or workarounds that would let me write the compiler warnings to a file as part of the build? Maybe there are some different generators like Make that support logs? Or maybe there’s a flag I can pass to Ninja to show the compiler warnings in the log? I’ve searched all over, so this was my last hope.