Difference between revisions of "Documentation/Nightly/Developers/Build Instructions/CheckoutSourceCode"

From Slicer Wiki
Jump to: navigation, search
Tag: 2017 source edit
 
(10 intermediate revisions by 3 users not shown)
Line 18: Line 18:
 
-->
 
-->
  
Check out the code using <code>git</code> and configure the <code>git svn</code> bridge:
+
Check out the code using <code>git</code><!--and configure the <code>git svn</code> bridge-->:
  
 
<ol style="list-style-type:none; border-left:thick solid red; padding-left:1em;">
 
<ol style="list-style-type:none; border-left:thick solid red; padding-left:1em;">
 
   <li>While it is not enforced, we strongly recommend you to '''AVOID''' the use of '''SPACES''' for both the <code>source directory</code> and the <code>build directory</code>. We mean it.
 
   <li>While it is not enforced, we strongly recommend you to '''AVOID''' the use of '''SPACES''' for both the <code>source directory</code> and the <code>build directory</code>. We mean it.
 +
  </li>
 +
</ol>
 +
 +
<ol style="list-style-type:none; border-left:thick solid red; padding-left:1em;">
 +
  <li>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.
 
   </li>
 
   </li>
 
</ol>
 
</ol>
Line 39: Line 44:
 
./Utilities/SetupForDevelopment.sh</pre>
 
./Utilities/SetupForDevelopment.sh</pre>
 
     <p>For more details see [[Documentation/Nightly/Developers/DevelopmentWithGit | Development With Git]].</p>
 
     <p>For more details see [[Documentation/Nightly/Developers/DevelopmentWithGit | Development With Git]].</p>
     <p>On Windows enter the commands above in to a bash shell, such as Git Bash (part of msysgit).</p>
+
     <p>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.</p>
 
   </li>
 
   </li>
  
 +
<!--
 
   <li>
 
   <li>
 
     <p>Configure the <code>git svn</code> bridge to ensure the mapping with svn revision.</p><p><strong>git-svn is only required for core developers with svn access - other people can skip it.</strong></p>
 
     <p>Configure the <code>git svn</code> bridge to ensure the mapping with svn revision.</p><p><strong>git-svn is only required for core developers with svn access - other people can skip it.</strong></p>
Line 62: Line 68:
 
}}
 
}}
  
''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.''
+
''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 <tt><MARKER></tt> and <tt><SVNREVISION></tt> in the command below with the selected revision and marker:''
 
<pre>
 
<pre>
svn co http://svn.slicer.org/Slicer4/trunk Slicer-r23774 -r 23774
+
svn co http://svn.slicer.org/Slicer4/<MARKER> Slicer-r<SVNREVISION> -r <SVNREVISION>
 
</pre>
 
</pre>
  
   '''Release'''         '''SVN revision#'''
+
   '''Release'''             '''SVN revision#'''      '''Marker'''
   4.8.1              26813
+
  4.10.0              27501              trunk
   4.8.0              26489
+
   4.8.1              26813               branches/Slicer-4-8
   4.6.2              25516
+
   4.8.0              26489               trunk
   4.5.0-1            24735
+
   4.6.2              25516               branches/Slicer-4-6
   4.4                23774
+
   4.5.0-1            24735               trunk
   4.3.1              22599
+
   4.4                23774               trunk
   4.3.0              22408
+
   4.3.1              22599               branches/Slicer-4-3
 +
   4.3.0              22408               trunk
  
''More corresponding SVN revision numbers can be found [http://wiki.slicer.org/slicerWiki/index.php/Release_Details here] and [http://slicer.kitware.com/midas3/slicerpackages/view here]''
+
''More corresponding SVN revision numbers can be found [[Release_Details|here]] and [http://slicer.kitware.com/midas3/slicerpackages/view here]''. The <tt><MARKER></tt> can be found at the bottom of this page http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=SVNREVISION by replacing <tt>SVNREVISION</tt> with the selected revision.
  
 +
''For example, to checkout the source code associated with revision <tt>4.8.1</tt>, you would use the following command:''
 +
 +
<pre>
 +
svn co http://svn.slicer.org/Slicer4/branches/Slicer-4-8 Slicer-r26813 -r 26813
 +
</pre>
 +
-->
  
 
</ol>
 
</ol>

Latest revision as of 22:14, 23 March 2020

Home < Documentation < Nightly < Developers < Build Instructions < CheckoutSourceCode


For the latest Slicer documentation, visit the read-the-docs.


CHECKOUT slicer source files


Check out the code using git:

  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.