Cmake 3.22 enforces gcc to only process C language, breaking projects with assembly code
Cmake 3.22 automatically passes option -x c to gcc when generating classic makefiles enforcing gcc to accept only C code and deactivates automatic language recognition based on file ending.
This breaks compilation for projects that rely on processing assembler files through gcc for symbol translation as gcc now fails to process the assembly code.
See https://github.com/openthread/ot-kw41z as an example.
The startup code of the microcontroller is passed to gcc by setting its language option to C in
ot-kw41z/third_party/nxp/CMakeLists.txt
but if the Cmake version is set to 3.22 gcc is invoked with option -x c and file processing fails as it contains assembly code.
setting the Cmake version to 3.10 in the top CMakeLists.txt solves the issue as Cmake 3.10 does not automatically pass option -x c to gcc.