title: How to define transitive CXX_STANDARD C++11 in Cmake
body: <p>I have a header only C++11 library, so I want to configure it, using CMake > 3.1, compile features seems reasonable way to do so:</p>
  
  <pre><code>target_compile_features(my_header_lib INTERFACE cxx_range_for)
  </code></pre>
  
  <p>But I would prefer not having to indicate individual features, but just C++11 or C++14. Then I could try to use the following:</p>
  
  <pre><code>set_property(TARGET my_target PROPERTY CXX_STANDARD 11)
  </code></pre>
  
  <p>The problem is that my_target cannot be INTERFACE here, it is not supported, and I cannot define it PUBLIC, so consumers (many EXEs) of my header only library will automatically have the C++11 configuration propagated from the lib.</p>
  
  <p>Is there some way to define at a high level 11/14 standard, but also configure it for a header only (INTERFACE) library? I would prefer not to fall back to old manual -std=c++11.</p>