The current schema parser uses Flex/Bison. Making Flex/Bison work with CMake seems difficult. Moreover trying to parse Json directly into in-memory schema object appears hard. The code is not friendly for extensions to implement new features such as namespace, documentation comments etc.
We already have a Json parser in Avro C++ codebase, but is hidden inside the JsonCodec. Bringing it out and implementing a schema parser on top of that (similar to the Java and C# implementations) would fix the problem. The forthcoming patch does just that.