ENH: Simplify NUMPY project by writing CMake script for each steps

This is a first step toward a simplification and generalization of the
system allowing to configure, build and install NUMPY.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23068 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Set NUMPY URL and URL_MD5 consistently

Remove unused intermediate variables

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23069 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Generalize NUMPY/SimpleITK build system

This commit introduces a new CMake module named "ExternalProjectForNonCMakeProject"
providing convenience functions to facilitate the integration of project
based on autoconf, python distutils, ...:

  ExternalProject_Execute
  ExternalProject_Remove_Execute_Logs
  ExternalProject_Write_SetBuildEnv_Commands
  ExternalProject_Write_SetPythonSetupEnv_Commands

Let's also note that since r20539 and r21639 removed the need for a
Fortran compiler to configure/build/install NUMPY, the requirement to set
the environment variable LDFLAGS to an empty string originally
introduced by r20520 has been removed.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23070 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Easier maintenance simplifying PCRE, Swig, incrTcl, tcl, tk build system

This is done by using ExternalProjectForNonCMakeProject recently introduced.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23071 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Simplify VTK project build step

This commit remove the custom step first introduced in r15695. Following
the introduction of the Python launcher by commit r19804, this custom step
is not needed anymore.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23072 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Simplify environment setup for python module build steps

Following the introduction of Python launcher by commit r19804,
adding the location of the shared python library in the Env files
is redundant. It is already done by the Python launcher.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23073 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Simplify OpenSSL project using ExternalProjectForNonCMakeProject

Remove unused code used to apply OpenSSL parallel build patch.
As explained in r22224, this was broken.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23074 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update ExternalProject_Execute to implicitly delete related log files

The user of the function doesn't have to explicitly delete the log files
by calling the function 'ExternalProject_Remove_Execute_Logs'. Following
this commit log files created by calling 'ExternalProject_Execute' for a
given project and stepname will automatically be removed if called a
second time.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23075 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix gitdb and async build error explicitly setting build environment

In addition to update the install step of these two projects, this commit
also revert commit r23065 that was disabling the build of PyGithub
and GitPython projects.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23076 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Remove ITKv3 support

As discussed on the mailing list [1] and reported on the Roadmap [2],
this commit removes all conditional code that was allowing Slicer4 to be
compiled against ITKv3.

Code that was building only against ITKv3 has also been removed. This
includes DicomToNrrdConverter CLI module
and SlicerITKv3N4MRIBiasFieldCorrectionImageFilter class.

[1] http://slicer-devel.65872.n3.nabble.com/Removal-of-ITKv3-support-tt4031364.html

[2] http://wiki.slicer.org/slicerWiki/index.php/Roadmap#Deprecation_.2F_API_Changes

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23077 3bd1e089-480b-0410-8dfb-8563597acbee