Match mapping and scale

Good evening,

is there known way to match texture mapping direction and scale for all of surfaces?

For example, I have a surrounding buildings, which have “chaotic” brep:

I’ve tried mapping it anyway, but the result is more than disappointing

I am willing to make clean breps by redrawing everything manually unless you suggest a less energy consuming workaround…