Requiring CMake >= 3.0

Currently supports CMake >=2.8.9 mostly to support Ubuntu 14.04 LTS (5 year support)

C++11 throughout

As ITK uses templates heavily, it would greatly benefit from usage of few C++11 goodies, especially auto and decltype.

To take a step further, requiring the latest c++ standard (C++14? C++17?) available when starting a v5 endeavour could also be discussed.

Note: Some c++ >= 11 features may not be supported by CastXML (and by pygccxml): https://github.com/CastXML/CastXML/issues/72
Before implementing fancy stuff it should be double-checked if it does not break the Wrappings.

To justify the change I’d like to see some good use of it in ITK. Some things that first come to mind:

VNL->Eigen

Wrapping

Filter Refactoring

The current Functor based filters create code bloat because each class instance requires two instantiated classes. An alternative Functor approach should be used where the same class can be used any functor. One approach is to use a "SefFunctor" method which generates the GenerateData method.

Uncategorized minor wishes

Suport for remote module testing against multiple versions of ITK.

Rolling compiler support. Each new release will support compilers released in the last 3-5 years. This will allow us to gradually adopt newer language versions, as C++ standards committee aims to revise the language every 3 years.