<div dir="ltr">Probably just asking what a number of people are now thinking, but if we're now requiring C++11 to build CMake, how long until we up the minimum Visual Studio version from 2010 to at least 2013? Seems a bit optimistic to still be trying to support 2010 as the minimum standard and also state C++11 as a minimum.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 23, 2017 at 4:41 PM, Sebastian Holtermann <span dir="ltr"><<a href="mailto:seblist@xwmw.org" target="_blank">seblist@xwmw.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> > > > it looks like C++11 is now a requirement for CMake itself.<br>
> > ><br>
> > > Yes.  We just merged this:<br>
> > >   <a href="https://gitlab.kitware.com/cmake/cmake/merge_requests/1132" rel="noreferrer" target="_blank">https://gitlab.kitware.com/<wbr>cmake/cmake/merge_requests/<wbr>1132</a><br>
> > ><br>
> > > but you beat us to the announcement.<br>
> ><br>
> > I saw the MR last week and was delighted. The iterator type naming in<br>
> > `for`<br>
> > loops drove me mad.<br>
><br>
> Feel free to use `auto`, but you will need to hold off range based for<br>
> loops.<br>
<br>
Okay, that's nice.<br>
Just to say, even without auto<br>
<br>
  for (const std::string& item : lst) {<br>
    ...<br>
  }<br>
<br>
is easier to comprehend than<br>
<br>
  for (std::vector<std::string>::<wbr>const_iterator it = lst.begin();<br>
       it != lst.end(); ++it) {<br>
    const std::string& item = *it;<br>
    ...<br>
  }<br>
<br>
which is as C++(98) as can be.<br>
<br>
> > > > But does this mean *all* the nice features from the std library can be<br>
> > > > used?<br>
> > ><br>
> > > Not all.  We're still limited by some of the older C++11 compilers.<br>
> > > We'll have to see how things go on nightly builds.  As limitations<br>
> > > are found they can be documented in `Help/dev/source.rst`.<br>
><br>
> Please have a look at the nightly testers on<br>
> <a href="https://open.cdash.org/index.php?project=CMake" rel="noreferrer" target="_blank">https://open.cdash.org/index.<wbr>php?project=CMake</a> and compare the feature<br>
> availability here: Please see<br>
> <a href="http://en.cppreference.com/w/cpp/compiler_support" rel="noreferrer" target="_blank">http://en.cppreference.com/w/<wbr>cpp/compiler_support</a><br>
><br>
> Currently CMake is still built with Visual Studio 2010, ie. MSVC 16.0.<br>
><br>
> That means we should be able to use auto, nullptr, lambdas, std::array,<br>
> std::function, type traits, trailing return types, r-values, ...<br>
<br>
Very nice. C++11 was such a great improvement to the language.<br>
It's much more fun to work with. Even with the slightly limited<br>
feature set available in CMake.<br>
<br>
-Sebastian<br>
<br>
--<br>
<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/<wbr>CMake_FAQ</a><br>
<br>
Kitware offers various services to support the CMake community. For more information on each offering, please visit:<br>
<br>
CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>support.html</a><br>
CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>consulting.html</a><br>
CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>training.html</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/cmake-developers" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/cmake-<wbr>developers</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Craig Scott<br><div>Melbourne, Australia</div><div><a href="https://crascit.com" target="_blank">https://crascit.com</a><br></div></div></div></div></div></div></div>
</div>