This makes me a little nervous. Seems to me that mere availability of C++11 is not enough. It's easy to imagine cases where, for compatibility with linked apps, one might not want C++11 even though it's available in the compiler.

Or do I have it wrong? Is it only use of libc++ that's an issue for ABI compatibility? Exactly what are the compatibility issues for C++11-compiled code when linked against other code or libraries that are not compiled with -std=c++0x?

If there is NO compatibility issue, then perhaps this ok. If there is a potential issue, then perhaps we need a top-level "USE_CPP11" variable (which, perhaps, can default to true) so that it's easy for people to turn off from the top level cmake/make command.