Import 2017-06-07 23:51:09: master 4f7ea927

Author Committer Branch Timestamp Parent
jcfr jcfr master 2016-01-29 17:26:31 master d0afb3d2
Changeset

COMP: SlicerDMRI: Workaround "path too long" issue for VS2013 build.

This commit works around the windows "path too long" issue by reorganizing
the SlicerDMRI source directory after the repository has been cloned.

For sake of consistency, and to ensure future update are tested on all
development environment, the "workaround" is applied on both Unix and
Windows.

Considering that the original source code is organized like this:

c:\path\to\Slicer-build\SlicerDMRI\CMakeLists.txt
c:\path\to\Slicer-build\SlicerDMRI\Modules\CLI\CLIModule1
...
c:\path\to\Slicer-build\SlicerDMRI\Modules\Loadable\LoadableModule1
...
c:\path\to\Slicer-build\SlicerDMRI\Modules\Scripted\ScriptedModule1

The workaround consists in creating a structure with shorter paths
similar to this one:

c:\path\to\Slicer-build\DMRI\CMakeLists.txt
c:\path\to\Slicer-build\DMRI\CLIModule1
...
c:\path\to\Slicer-build\DMRI\LoadableModule1
...
c:\path\to\Slicer-build\DMRI\ScriptedModule1

Note that the CMakeLists.txt in the new layout is generated at
configuration time.

The difference across platforms are the following:

  • Unix: Symlinks are created.

  • Windows: Directories are copied.

Rational for this approach:

  • Updating the build system allows to keep the organization of SlicerDMRI
    consistent with all other existing extension.

  • Anticipating that SlicerDMRI will become a "regular" extension,
    install-able through the Extension Manager", there will be no "path too long"
    issue.

  • Updating the CMake Visual Studio generator to have shorter "intermediate
    directories" is being discussed at the time of this commit.

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

mod - SuperBuild.cmake Diff File