Difference between revisions of "ITK Release 4/Modern C++"

From KitwarePublic
Jump to navigationJump to search
(Specified supported clang versions)
 
(14 intermediate revisions by 6 users not shown)
Line 17: Line 17:
* Visual Studio 6.0
* Visual Studio 6.0
* Visual Studio 7.0
* Visual Studio 7.0
* 7.1 (Until 2012)
* 8  SP 1 (Until 2015)
* Borland version 5.5
* Borland version 5.5
* Sun Studio compilers prior to 5.9
* Sun Studio compilers prior to 5.9
Line 23: Line 25:
* cygwin 1.5 (newer versions may work, but are not being targeted)
* cygwin 1.5 (newer versions may work, but are not being targeted)
* gcc prior to 3.4
* gcc prior to 3.4
* Darwin ppc (Until 2015)


== Will Support ==
== Will Support ==
Line 31: Line 34:
* GCC 4.x
* GCC 4.x
* Visual Studio
* Visual Studio
** 7.1 (Until 2012)
** 8  (Until 2015)
** 9  (Until 2018)
** 9  (Until 2018)
** 10 (Until 2020)
** 10 (Until 2020)
** 11 (Until 2022)
** 12 (Until 2023)
** 13 (Until 2025)
* Intel Compiler Suite
* Intel Compiler Suite
** 11.x
** 11.x
** 12.x
** 12.x
* Darwin-c++-4.2
** ppc (Until 2015)
** x86_64
* Darwin-g++-4.0.1
* MacOSX-icc-rel  
* MacOSX-icc-rel  
* SunOS-CC
** amd64
** i386
** amd64
* Win32-mingw-gcc-4.5
* Win32-mingw-gcc-4.5
* Apple clang-600.0.56
* Clang 3.3 and later


=== Friendly to Support ===


* clang (beta version)
The following table illustrate the phase-out schedule of multiple compilers.


<timeline>
The stage "If community supported" means that ITK will only support that compiler if volunteers from the community commit to submitting Nightly Dashboard builds and to address/fix any problem that may arise in those platforms.
ImageSize  = width:1000 height:400
PlotArea  = left:200 right:15 bottom:140 top:25
AlignBars  = justify
Legend    = orientation:vertical left:65 top:20


Period      = from:2011 till:2021
{| border="0"
TimeAxis    = orientation:horizontal
|Compiler
ScaleMajor  = unit:year increment:1 start:2011
|2011
|2012
|2013
|2014
|2015
|2016
|2017
|2018
|2019
|2020
|2021
|2022
|2023
|2024
|2025
|2026
|-
|[[http://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Version_history|"VisualStudio 7.1"]]
|colspan="1" bgcolor="green"|
|colspan="1" bgcolor="yellow"|
|colspan="5" bgcolor="red"|
|-
|Visual Studio 8
|colspan="3" bgcolor="green"|
|colspan="1" bgcolor="yellow"|
|colspan="5" bgcolor="red"|
|-
|Visual Studio 9
|colspan="8" bgcolor="green"|
|colspan="1" bgcolor="yellow"|
|colspan="5" bgcolor="red"|
|-
|Visual Studio 10
|colspan="10" bgcolor="green"|
|colspan="1" bgcolor="yellow"|
|colspan="3" bgcolor="red"|
|-
|GCC 3.4
|colspan="1" bgcolor="green"|
|colspan="1" bgcolor="yellow"|
|colspan="5" bgcolor="red"|
|-
|GCC 4.2
|colspan="5" bgcolor="green"|
|colspan="1" bgcolor="yellow"|
|colspan="5" bgcolor="red"|
|-
|GCC 4.4
|colspan="8" bgcolor="green"|
|colspan="1" bgcolor="yellow"|
|colspan="5" bgcolor="red"|
|-
|GCC 4.9
|colspan="14" bgcolor="green"|
|colspan="1" bgcolor="yellow"|
|colspan="5" bgcolor="red"|
|}


Define $markred = text:"*" textcolor:red shift:(0,3) fontsize:10
=== Legend ===


BarData=
{| border="0"
  bar:VS7 text:"[http://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Version_history|VisualStudio 7.1]"
|Label|
  bar:VS8 text:"[http://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Version_history|VisualStudio 8]"
|-
  bar:VS9 text:"[http://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Version_history|VisualStudio 9]"
|colspan="2" bgcolor="green"|Fully Supported
  bar:VS10 text:"[http://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Version_history|VisualStudio 10]"
|-
  bar:pregcc4.2 text: gcc-[4.0-4.2)
|colspan="2" bgcolor="yellow"|Phase Out
 
|-
Colors=
|colspan="2" bgcolor="red"|If community supported
  id:High  value:green legend:Premiere_Level_I_Support_by_ITK_core_developers
|}
  id:Medium value:yellow legend:As_time_permits_Level_II_Support_by_ITK_core_developers
  id:Low    value:red    legend:No_core_commitments_(Community_support_expected)
 
PlotData=
  align:center textcolor:black fontsize:8 mark:(line,black) width:25 shift:(0,-5)
 
  bar:VS7 from:2011  till:2012  color:High
  bar:VS7 from:2012  till:2013  color:Medium text:"VS7 released in 2003"
  bar:VS7 from:2013  till:2021  color:Low
 
  bar:VS8 from:2011 till:2014 color:High
  bar:VS8 from:2014 till:2015 color:Medium text:"VS8 released in 2005"
  bar:VS8 from:2015 till:2021 color:Low
 
  bar:VS9 from:2011 till:2018 color:High
  bar:VS9 from:2018 till:2019 color:Medium text:"VS9 released in 2007"
  bar:VS9 from:2019 till:2021 color:Low
 
  bar:VS10 from:2011 till:2019 color:High
  bar:VS10 from:2019 till:2021 color:Medium text:"VS10 released in 2010"
  bar:VS10 from:2021 till:2021 color:Low
 
  bar:pregcc4.2  from:2011  till:2012  color:High
  bar:pregcc4.2  from:2012  till:2014  color:Medium
  bar:pregcc4.2  from:2014  till:2021  color:Low
 
</timeline>

Latest revision as of 12:55, 18 September 2017

Goal

  • Take advantage of advances in C++

Path

Specifics

The following lists specify what compilers will be supported and what compilers will not be supported in the first release of ITKv4.

Will Not Support

Specifically remove support for

  • Visual Studio 6.0
  • Visual Studio 7.0
  • 7.1 (Until 2012)
  • 8 SP 1 (Until 2015)
  • Borland version 5.5
  • Sun Studio compilers prior to 5.9
  • IRIX compilers
  • Metrowerks Codewarrior compilers
  • cygwin 1.5 (newer versions may work, but are not being targeted)
  • gcc prior to 3.4
  • Darwin ppc (Until 2015)

Will Support

As a general statement, we support compilers that submit nightly to the ITK dashboard. Currently these include:

Fully Committed to Support

  • GCC 4.x
  • Visual Studio
    • 9 (Until 2018)
    • 10 (Until 2020)
    • 11 (Until 2022)
    • 12 (Until 2023)
    • 13 (Until 2025)
  • Intel Compiler Suite
    • 11.x
    • 12.x
  • MacOSX-icc-rel
  • Win32-mingw-gcc-4.5
  • Apple clang-600.0.56
  • Clang 3.3 and later


The following table illustrate the phase-out schedule of multiple compilers.

The stage "If community supported" means that ITK will only support that compiler if volunteers from the community commit to submitting Nightly Dashboard builds and to address/fix any problem that may arise in those platforms.

Compiler 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
["VisualStudio 7.1"]
Visual Studio 8
Visual Studio 9
Visual Studio 10
GCC 3.4
GCC 4.2
GCC 4.4
GCC 4.9

Legend

Fully Supported
Phase Out
If community supported