У меня здесь нет копии стандарта (хотя давно читал некоторые части черновика), но я вполне уверен, что стандарт даже не требует, чтобы источники были представлены в виде файлов. Если я правильно помню, давным-давно (в 90-х) IDE Visual Age C ++ от IBM пытался вообще отказаться от хранения источников в файлах.
Поскольку стандарт C ++ ничего не говорит о системе сборки (make, jam или что-либо еще), все, что находится перед компилятором (и препроцессором C ++), выходит за рамки стандарта. Таким образом, что-то вроде moc или генерации config.h не является стандартным по отношению к стандарту C ++ и также не запрещено.
Но есть и другие стандарты. Например, для Qt использование moc является «стандартом» для предварительной обработки файлов перед вызовом компилятора C ++, так же как и при разработке Linux с использованием autoconf, GNU make и других инструментов is.