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

Andrew Maclean andrew.amaclean at gmail.com
Wed Jan 18 23:52:54 EST 2017


Actually ... in looking at CMakeLists.txt all you need to do is update the
compiler versions in lines 262-295 and you're done!

Regards
   Andrew

On Thu, Jan 19, 2017 at 1:11 PM, Andrew Maclean <andrew.amaclean at gmail.com>
wrote:

> No worries!
>
> Andrew Maclean
>
> On 19 Jan 2017 13:10, "Robert Maynard" <robert.maynard at kitware.com> wrote:
>
> 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
>
> ___________________________________________
>
>
>


-- 
___________________________________________
Andrew J. P. Maclean

___________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20170119/cc628c74/attachment.html>


More information about the vtk-developers mailing list