<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Thanks for spotting this, I won't be able to get a fix in before tomorrow morning unfortunately. </div><div id="AppleMailSignature"><br>Sent from my iPhone</div><div><br>On Jan 18, 2017, at 8:32 PM, Andrew Maclean <<a href="mailto:andrew.amaclean@gmail.com">andrew.amaclean@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">This change in CMakeLists.txt will cause problems in Visual Studio:<div>---<br><div><div>if( NOT cxx_nullptr IN_LIST CMAKE_CXX11_COMPILE_FEATURES)</div><div>  option(VTK_IGNORE_CXX11_REQUIREMENT OFF)</div><div>  if(NOT VTK_IGNORE_CMAKE_CXX11_CHECKS)</div><div>    message(FATAL_ERROR "VTK now requires a compiler that supports C++11")</div><div>  endif()</div><div>endif()</div><div>---</div><div>because CMAKE_CXX11_COMPILE_FEATURES is always empty for MSVC compilers.</div><div><br></div><div>Anyway, if you look at <a href="https://msdn.microsoft.com/en-us/library/hh567368.aspx">https://msdn.microsoft.com/en-us/library/hh567368.aspx</a></div><div>nullptr is probably a bad one to test for with microsoft compilers as it has been supported since VS 2010.</div><div><br></div><div>Could I suggest using <span style="color:rgb(84,84,84)"><b>CMAKE_CXX_COMPILER_ID</b> and </span><span style="color:rgb(84,84,84)"><b>CMAKE_CXX_COMPILER_VERSION</b> </span>instead?<br></div><div><span style="color:rgb(84,84,84)"><br></span></div><div><span style="color:rgb(84,84,84)">For example:</span></div><div><font color="#545454"><b><i>message(STATUS "Compiler ID/Version: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")</i></b></font><br></div><div><font color="#545454">WIll give you a line like:</font></div><div><i>The CXX compiler identification is MSVC 19.0.24215.1</i><font color="#545454"><br></font></div><div>It also works with gcc.</div><div><br></div><div><span style="color:rgb(84,84,84)">Regards</span></div><div><span style="color:rgb(84,84,84)">   Andrew</span></div><div><br></div><div><br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>---------- Forwarded message ----------<br>From: Robert Maynard <<a href="mailto:robert.maynard@kitware.com">robert.maynard@kitware.com</a>><br>To: vtk vtk <<a href="mailto:vtkusers@vtk.org">vtkusers@vtk.org</a>>, VTK Developers <<a href="mailto:vtk-developers@vtk.org">vtk-developers@vtk.org</a>><br>Cc: <br>Date: Wed, 18 Jan 2017 12:11:21 -0500<br>Subject: [vtk-developers] VTK updated to CMake 3.3 and C++11<br>I am happy to announce that over the last two weeks we have rolled out a<br>
series of updates to VTK that mean the minimum required CMake version<br>
is now 3.3 (see below), and now builds with C+11 enabled.<br>
<br>
Yes VTK now requires a C++11 capable compiler. Initial we are only asking for a<br>
minimal set of C++11 features (nullptr), but as continue forward through the<br>
year we are going require a larger set of C++11 features. The final exact<br>
versions for each compiler have not been set in stone, but a rough estimation<br>
would be:<br>
  - GCC 4.8+<br>
  - Clang 3.3+<br>
  - XCode 5.0+<br>
  - MSVC 2013+<br>
<br>
I wanted to send this announcement out to bring up a couple of points:<br>
<br>
1. Thanks to everyone that has helped get VTK ready for C++11! The final CMake<br>
switch over to C++11 was very easy, only because of all the hard work that other<br>
developers did in anticipation of this. So thank you very much.<br>
<br>
2. The major reason for this slow roll out of C++11 is so that we minimize the<br>
impact on current VTK merge requests, while also minimizing dashboard<br>
instability. Contributors please be aware of these changes if you have long<br>
running branches.<br>
<br>
3. We currently have dashboard machines running GCC 4.6 & 4.7. We are currently<br>
working up a plan on how best to transition these machines to at least GCC 4.8<br>
as the roll out continues.<br>
<br>
4. The current MinGW dashboard machine doesn't support C++11 and will be<br>
removed, with no plan of a replacement at Kitware. If the community is<br>
interested in maintaining a newer MinGW machine I can provide assistance<br>
on how to setup a machine.<br>
<br>
<br>
============<br>
<br>
Why CMake 3.3:<br>
<br>
We have chosen CMake 3.3 as the minimum required version for numerous reasons,<br>
the most important of those reasons being:<br>
<br>
- It is the first CMake release that offers C++11 support for all four major<br>
  compilers ( GCC / MSVC / Clang / XCode ).<br>
<br>
- The CMake version is sufficiently new enough that it allows for a cleaning<br>
  of the existing CMake infrastructure. The current CMake minimum version<br>
  requires VTK to maintain forks of numerous FindPackages and Modules that are<br>
  part of newer CMake versions.<br>
<br>
- Supports HTTPS downloads, with all the official binaries come with support.<br>
  Allowing for migration of external data to a HTTPS only server. Something we<br>
  are going to require in the near future.<br>
<br>
<br><br></blockquote></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature">___________________________________________<br>Andrew J. P. Maclean<br><br>___________________________________________</div>
</div></div></div></div>
</div></blockquote></body></html>