QNX: Preprocessing ASM .S source files
Starting with CMake 3.19.0-rc1, a new flag was added to the QCC compiler, "-x c", when the LANGUAGE property for a source file was set to C. Before that, the source file was sent to the right compiler without any additional flag that might be caused by the LANGUAGE property.
The .S source files (e.g. in libjpeg-turbo) are C-ASM source code that has to be compiled with the QNX C compiler. The compiler knows how to treat them by extension.
The problem here is the newly added "-x" compile flag. "-x c" tells the compiler to treat the source file as pure C code, and it fails. If we change the LANGUAGE property of the source file to any ASM variant, then the file will be sent to the assembler instead of the QCC compiler, and that fails too.
So, we have C-ASM code, two languages, that has to be compiled with QNX-C compiler (QCC), but not marked as pure-C code with the "-x c". CMake 3.18.0 works just fine.