COMP: Update "GIT_WC_INFO" macro so that a shorter and more readable SHA1 is outputed

git-svn-id: http://svn.slicer.org/Slicer4/trunk@19963 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Factory out continuous build interval time into one variable in driver scripts

git-svn-id: http://svn.slicer.org/Slicer4/trunk@19964 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Document and set default value of output parameter "_WC_ROOT" associated with SlicerMacroExtractRepositoryInfo

git-svn-id: http://svn.slicer.org/Slicer4/trunk@19965 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Explicitly pass parameters associated to slicerFunctionGenerateExtensionDescription

Doing so could potentially prevent us from invoking the expensive
"SlicerMacroExtractRepositoryInfo" multiple times.

The function "slicerFunctionGenerateExtensionDescription" now does one thing
and doesn't deal anymore with the process of introspecting the associated
source tree.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@19966 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Re-organize and document CMake code associated with driver script template

git-svn-id: http://svn.slicer.org/Slicer4/trunk@19967 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Ensure site name associated with extension build is systematically lower cased

git-svn-id: http://svn.slicer.org/Slicer4/trunk@19968 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Associate repository type and revision to extension build name

git-svn-id: http://svn.slicer.org/Slicer4/trunk@19969 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Extensions build system now support ExtensionsIndex git repository

The "ExtensionsIndex" repository is a dedicated git repository used to
host extension description files. The associated integration branches
are "master", "4.1", ...

When Slicer 4.2 will be released, the integration branch 4.2 will be created.
This later one will host the extensions developed for this specific release.

The "master" branch will host the bleeding edge extensions build against
the bleeding edge Slicer.

In a nutshell, the extensions build system can be used in two ways:
  "Inside"  a slicer build tree
  or
  "Outside" a slicer build tree

"Inside": This is done by enabling option Slicer_BUILD_EXTENSIONS (and optionally Slicer_UPLOAD_EXTENSIONS)
when building Slicer.

"Outside": This is done by building the project located in "Slicer/Extensions/CMake"

The advantage of doing an "Outside" build is that the continuous integration associated
with extensions will be fast (systematic configure/build of Slicer isn't required)

git-svn-id: http://svn.slicer.org/Slicer4/trunk@19970 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Provide a mechanism to overwrite the auto-discovered Slicer_WC_REVISION

Such mechanism allows to overwrite the discovered Slicer_WC_REVISION
and build extensions against an expected revision associated with
a Slicer release.

While the core functionality (API/ABI) of slicer wouldn't be modified by a
newer Slicer revision, the extension build system could be improved or
fixed by a more recent set of patches. In that specific case, the option
Slicer_FORCED_WC_REVISION could be used.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@19971 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Make sure more than one PythonQt module could be loaded in a given directory.

In case the regular expression doesn't match, the other filename should
be considered.

This is a follow up of r19695

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