[vtk-developers] VTK updated to CMake 3.3 and C++11

Robert Maynard robert.maynard at kitware.com
Wed Jan 18 21:10:06 EST 2017


Thanks for spotting this, I won't be able to get a fix in before tomorrow morning unfortunately. 

Sent from my iPhone

> On Jan 18, 2017, at 8:32 PM, Andrew Maclean <andrew.amaclean at gmail.com> wrote:
> 
> This change in CMakeLists.txt will cause problems in Visual Studio:
> ---
> if( NOT cxx_nullptr IN_LIST CMAKE_CXX11_COMPILE_FEATURES)
>   option(VTK_IGNORE_CXX11_REQUIREMENT OFF)
>   if(NOT VTK_IGNORE_CMAKE_CXX11_CHECKS)
>     message(FATAL_ERROR "VTK now requires a compiler that supports C++11")
>   endif()
> endif()
> ---
> because CMAKE_CXX11_COMPILE_FEATURES is always empty for MSVC compilers.
> 
> Anyway, if you look at https://msdn.microsoft.com/en-us/library/hh567368.aspx
> nullptr is probably a bad one to test for with microsoft compilers as it has been supported since VS 2010.
> 
> Could I suggest using CMAKE_CXX_COMPILER_ID and CMAKE_CXX_COMPILER_VERSION instead?
> 
> For example:
> message(STATUS "Compiler ID/Version: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
> WIll give you a line like:
> The CXX compiler identification is MSVC 19.0.24215.1
> It also works with gcc.
> 
> Regards
>    Andrew
> 
> 
> 
> 
>> 
>> ---------- Forwarded message ----------
>> From: Robert Maynard <robert.maynard at kitware.com>
>> To: vtk vtk <vtkusers at vtk.org>, VTK Developers <vtk-developers at vtk.org>
>> Cc: 
>> Date: Wed, 18 Jan 2017 12:11:21 -0500
>> Subject: [vtk-developers] VTK updated to CMake 3.3 and C++11
>> 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.
>> 
>> 
>> 
> 
> 
> -- 
> ___________________________________________
> Andrew J. P. Maclean
> 
> ___________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20170118/af8c078c/attachment.html>


More information about the vtk-developers mailing list