Documentation/Nightly/Developers/Build Instructions/CheckoutSourceCode

From Slicer Wiki
Jump to: navigation, search
Home < Documentation < Nightly < Developers < Build Instructions < CheckoutSourceCode


CHECKOUT slicer source files


Check out the code using git and configure the git svn bridge:

  1. While it is not enforced, we strongly recommend you to AVOID the use of SPACES for both the source directory and the build directory. We mean it.
  1. Due to maximum path length limitations during build the build process, source and build folders must be located in a folder with very short total path length. This is expecially critical on Windows and MacOS. For example, C:\D\S4 for source and C:\D\S4R for release-mode build folder works on Windows; and /sq5 has been confirmed to work on MacOS.
  1. Clone the github repository

    cd MyProjects
    git clone git://github.com/Slicer/Slicer.git

    The Slicer directory is automatically created after cloning Slicer.

  2. Setup the development environment:

    cd Slicer
    ./Utilities/SetupForDevelopment.sh

    For more details see Development With Git.

    On Windows enter the commands above in to a bash shell, such as Git Bash (part of msysgit) or use a Git client with a graphical user interface.

  3. Configure the git svn bridge to ensure the mapping with svn revision.

    git-svn is only required for core developers with svn access - other people can skip it.

    cd Slicer
    git svn init http://svn.slicer.org/Slicer4/trunk
    git update-ref refs/remotes/git-svn refs/remotes/origin/master
    git checkout master
    git svn rebase
  4. Note for Mac OSX El Capitan:

    You might need to link SVN from XCode if you find that git svn is broken. To get correct links and bypass El Capitan's SIP use these commands

    sudo mkdir /Library/Perl/5.18/auto
    sudo ln -s /Applications/Xcode.app/Contents/Developer/Library/Perl/5.18/darwin-thread-multi-2level/SVN /Library/Perl/5.18/darwin-thread-multi-2level
    sudo ln -s /Applications/Xcode.app/Contents/Developer/Library/Perl/5.18/darwin-thread-multi-2level/auto/SVN /Library/Perl/5.18/auto/

    If you plan to compile Slicer to develop your own extensions and test these extensions on Slicer releases, it is convenient to download the source code directly from SVN and specify the revision number corresponding to the release you want. To do so, replace <MARKER> and <SVNREVISION> in the command below with the selected revision and marker:

    svn co http://svn.slicer.org/Slicer4/<MARKER> Slicer-r<SVNREVISION> -r <SVNREVISION>
    
     Release             SVN revision#       Marker
     4.10.0              27501               trunk
     4.8.1               26813               branches/Slicer-4-8
     4.8.0               26489               trunk
     4.6.2               25516               branches/Slicer-4-6
     4.5.0-1             24735               trunk
     4.4                 23774               trunk
     4.3.1               22599               branches/Slicer-4-3
     4.3.0               22408               trunk
    

    More corresponding SVN revision numbers can be found here and here. The <MARKER> can be found at the bottom of this page http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=SVNREVISION by replacing SVNREVISION with the selected revision.

    For example, to checkout the source code associated with revision 4.8.1, you would use the following command:

    svn co http://svn.slicer.org/Slicer4/branches/Slicer-4-8 Slicer-r26813 -r 26813