How to create a procedural brick texture for a simple building without object size changing the texture size?
When I read Rich Sedman's first answer, I realized that what he does with the two materials can be solved with a single material using a trick called triplanar mapping. 

What is the problem here? 3D procedural textures can be made size-independent using Object coordinates, but the brick texture is only a 2D procedural texture, so it does not wrap around the mesh.

What is triplanar mapping? A 2D texture is projected along the X, Y, and Z axes, and then we blend among these based on the angle of the currect face. It is used mostly for things like terrains, rocks, tree trunks but can be also used here (assuming that the faces are either in the XZ or in the YZ planes, so that we don't get blending artifacts). Cycles does not have built-in triplanar mapping support, but one can construct it from nodes, an example is here: http://www.blendswap.com/blends/view/78446

The following is a simplified version of the blendswap material, because in this case we only need two projections (X and Y - this is strictly speaking biplanar mapping), and I also took out the mapping nodes because the scaling can be tuned in the brick texture. Note however, that the mapping nodes could be useful to reduce the discontinuity at the edges, as in Rich's answer.

The nodes:



The result: