Huge hoop, my ass.
Wait a minute, does that mean that you program without using code generation from things higher level than C/C++? I almost can't believe that you can do any big project without speeding up development and avoiding errors and the mundane by generating code in a way that's not really possible merely utilizing the template metaprogramming. Almost anything you do eventually needs a lexer or parser (data formats, comm protocols), state machines, etc. Writing those even in C++ is a big hassle, since the compiler isn't really designed to do arbitrary computation at compile time, and that's ultimately what you need in order to be productive. Yeah, you can do it all by processing bytecodes at runtime, but that bloats your product with fragments of tools that are not needed past build stage. Bloat is bad.
It's really silly IMHO to insist that the make utility, compiler, assembler and linker are on a pedestal, and you're OK using those, but no other tool could ever come into the picture because it's somehow unkosher. Get over it - moc is a code generator, like many others that you're supposed to be using to stay productive. LLVM has got tablegen for a reason - good luck implementing it using template metaprograms to run during C++ compilation, ha ha. Are you going to bitch that LLVM hasn't ever really been C++, too?
Template metaprogramming quickly degenerates into mental masturbation where you express things that take a few lines of easily comprehensible imperative script in a convoluted mess of declarative functional code that makes people who do real functional programming in Haskell or OCaml feel quite happy at not having to deal with C++.
Do you really believe that there is any benefit in re-expressing simple code generators into dozens of template metaprogramming headers that not only slow down the compilation, but are a royal pain to debug should things go wrong? I consider eigen, for example, to be a fairly top-shelf example of what it takes to get C++ to produce well performing numerical code. It's a huge freakin' clusterfuck, and some things still can't be done due to limitations of either C++ spec or of implementations.
I am, in a way, happy about people "disliking" moc. I expect they have a similar religious aversion to other code generating tools. That only makes me more productive and more competitive. So, yeah, thank you.