[vtkusers] VTK updated to CMake 3.3 and C++11

Robert Maynard robert.maynard at kitware.com
Wed Jan 18 12:11:21 EST 2017


I am happy to announce that over the last two weeks we have rolled out a
series of updates to VTK that mean the minimum required CMake version
is now 3.3 (see below), and now builds with C+11 enabled.

Yes VTK now requires a C++11 capable compiler. Initial we are only asking for a
minimal set of C++11 features (nullptr), but as continue forward through the
year we are going require a larger set of C++11 features. The final exact
versions for each compiler have not been set in stone, but a rough estimation
would be:
  - GCC 4.8+
  - Clang 3.3+
  - XCode 5.0+
  - MSVC 2013+

I wanted to send this announcement out to bring up a couple of points:

1. Thanks to everyone that has helped get VTK ready for C++11! The final CMake
switch over to C++11 was very easy, only because of all the hard work that other
developers did in anticipation of this. So thank you very much.

2. The major reason for this slow roll out of C++11 is so that we minimize the
impact on current VTK merge requests, while also minimizing dashboard
instability. Contributors please be aware of these changes if you have long
running branches.

3. We currently have dashboard machines running GCC 4.6 & 4.7. We are currently
working up a plan on how best to transition these machines to at least GCC 4.8
as the roll out continues.

4. The current MinGW dashboard machine doesn't support C++11 and will be
removed, with no plan of a replacement at Kitware. If the community is
interested in maintaining a newer MinGW machine I can provide assistance
on how to setup a machine.


============

Why CMake 3.3:

We have chosen CMake 3.3 as the minimum required version for numerous reasons,
the most important of those reasons being:

- It is the first CMake release that offers C++11 support for all four major
  compilers ( GCC / MSVC / Clang / XCode ).

- The CMake version is sufficiently new enough that it allows for a cleaning
  of the existing CMake infrastructure. The current CMake minimum version
  requires VTK to maintain forks of numerous FindPackages and Modules that are
  part of newer CMake versions.

- Supports HTTPS downloads, with all the official binaries come with support.
  Allowing for migration of external data to a HTTPS only server. Something we
  are going to require in the near future.


More information about the vtkusers mailing list