Edward Diener wrote: ...
My point is that you can not ask each library maintainer to re-invent what he already uses from Boost config and/or Boost predef.
It should be noted here that CMake's philosophy with respect to C++ feature checks is different from Boost.Build's one. While in b2 we [ require cxx11_constexpr ] and do not build if this is not satisfied, in CMake one does target_compile_features(... cxx_constexpr) and then this requirement is propagated upwards to the targets that depend on the target requiring constexpr, the effect being that the top target is automatically compiled with -std=c++11. That's how CMake works and we probably should respect it and not try to swim against the current and try to force it into what we do now. Either way, this is basically the least of our worries. CMake can easily do all manners of configure-style checks.