<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Documentation%2F4.5%2FDevelopers%2FVersioning</id>
	<title>Documentation/4.5/Developers/Versioning - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Documentation%2F4.5%2FDevelopers%2FVersioning"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.5/Developers/Versioning&amp;action=history"/>
	<updated>2026-04-09T07:07:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.5/Developers/Versioning&amp;diff=43697&amp;oldid=prev</id>
		<title>UpdateBot: Nightly -&gt; 4.5</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.5/Developers/Versioning&amp;diff=43697&amp;oldid=prev"/>
		<updated>2015-11-12T22:07:33Z</updated>

		<summary type="html">&lt;p&gt;Nightly -&amp;gt; 4.5&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
= How to create a Slicer package =&lt;br /&gt;
&lt;br /&gt;
== Locally on your machine ==&lt;br /&gt;
&lt;br /&gt;
After Slicer correctly build and test, to create a binary package on mac/unix:&lt;br /&gt;
&lt;br /&gt;
 $ cd Slicer-Superbuild/Slicer-build&lt;br /&gt;
 $ make package&lt;br /&gt;
&lt;br /&gt;
For Visual Studio on Windows, the inner Slicer (not superbuild) solution file contains a 'PACKAGE' project, just build it. You might have to install [http://nsis.sourceforge.net/Download NSIS] prior.&lt;br /&gt;
&lt;br /&gt;
On Mac OS X, a 'dmg' file is generated, on unix it's a tar.gz archive and on Windows it's a exe installer.&lt;br /&gt;
&lt;br /&gt;
== Automatically expose it to the Slicer community ==&lt;br /&gt;
&lt;br /&gt;
CTest can automatically create a package and upload it on [http://slicer.cdash.org slicer.cdash.org] and [http://download.slicer.org download.slicer.org] to be available to the community.&lt;br /&gt;
&lt;br /&gt;
You need to create a script following the template [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/CMake/SlicerDashboardScript.TEMPLATE.cmake?view=markup Slicer/CMake/SlicerDashboardScript.TEMPLATE.cmake]. Change the following variables &amp;lt;code&amp;gt;WITH_PACKAGES&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SCRIPT_MODE&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;experimental&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Then you can run your script:&lt;br /&gt;
 $ ctest -S /path/to/SlicerPackageScript.cmake -VV &amp;gt; /path/to/logs.txt 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Please note that the source and build directories should not be located in '''/usr'''. The libraries would be considered by the packaging mechanism as &amp;quot;system&amp;quot; libraries.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Versioning =&lt;br /&gt;
&lt;br /&gt;
== Project fork ==&lt;br /&gt;
&lt;br /&gt;
While Slicer specific patches related to dependent project (i.e. VTK) are integrated upstream, it is not uncommon to build Slicer against a Slicer specific fork of the project.&lt;br /&gt;
&lt;br /&gt;
For example: https://github.com/Slicer/VTK&lt;br /&gt;
&lt;br /&gt;
=== Patches for tagged release ===&lt;br /&gt;
&lt;br /&gt;
For each version of the project requiring some specific patches, a branch following that convention will be created: &amp;lt;code&amp;gt;slicer-vX.Y.Z-YEAR-MONTH-DAY&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;X.Y.Z&amp;lt;/code&amp;gt; corresponds to the version of the project.&lt;br /&gt;
&lt;br /&gt;
For example, in case of the [https://github.com/Slicer/VTK Slicer/VTK] fork, the branch &amp;lt;code&amp;gt;slicer-v6.2.0-2015-03-02&amp;lt;/code&amp;gt; has been created.&lt;br /&gt;
&lt;br /&gt;
=== Patches for development branch ===&lt;br /&gt;
&lt;br /&gt;
In this case, since there is no tag associated with the branch, the Slicer specific patch should be added to a branch named using the date of the commit parent of the Slicer branch: &amp;lt;code&amp;gt;slicer-vX.Y-YEAR-MONTH-DAY-REV&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;X.Y&amp;lt;/code&amp;gt; corresponds to the fork release and &amp;lt;code&amp;gt;REV&amp;lt;/code&amp;gt; corresponds to either the first 7 chars of git hash or SVN revision (for example &amp;lt;code&amp;gt;r1234&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
For example: &amp;lt;code&amp;gt;slicer-v6.2.0-2015-02-24-70bad0e&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Slicer Package naming scheme =&lt;br /&gt;
{{ambox|text=The following information is for Slicer maintainers only}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Slicer-&amp;amp;lt;MAJOR_VERSION&amp;amp;gt;.&amp;amp;lt;MINOR_VERSION&amp;amp;gt;.&amp;amp;lt;PATCH_VERSION&amp;amp;gt;[-rc{1|2|3...}][-&amp;amp;lt;TWEAK_VERSION&amp;amp;gt;][-&amp;amp;lt;DATE&amp;amp;gt;][-svn&amp;amp;lt;REV&amp;amp;gt;][-dirty]-&amp;amp;lt;ARCH&amp;amp;gt;-&amp;amp;lt;PLATFORM&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are 2 types of builds, releases and developments:&lt;br /&gt;
; Release&lt;br /&gt;
: Special builds made on a given revision (e.g. r19033: &amp;quot;ENH: Slicer 4.0.1&amp;quot;)&lt;br /&gt;
: Don't contain date or revision number.&lt;br /&gt;
: The optional suffix '''-rc{1|2|3|...}''' identifies the release candidates leading to a final release.&lt;br /&gt;
: Eventually, a tweak number can be added (e.g. 4.0.1-1)&lt;br /&gt;
; Development&lt;br /&gt;
: Nightly or experimental builds&lt;br /&gt;
: Contains suffixes after the major.minor.patch version &lt;br /&gt;
: The suffix '''svn&amp;amp;lt;REV&amp;amp;gt;''' allows to identify the revision associated with the current package.&lt;br /&gt;
: The '''-dirty''' prefix indicates if the package has been generated from a locally modified source tree.&lt;br /&gt;
&lt;br /&gt;
== Example of linux 64bits packages ==&lt;br /&gt;
 [              File name               ][   date   ][ build type ][                      note                     ]&lt;br /&gt;
 Slicer-4.0.0-linux-amd64                 2011-11-24    release     release of Slicer 4.0.0&lt;br /&gt;
 Slicer-4.0.0-2011-12-10-linux-amd64      2011-11-25  development   nightly build after 4.0.0&lt;br /&gt;
 Slicer-4.0.1-rc1-linux-amd64             2012-01-04    release     release candidate 1 of Slicer 4.0.1&lt;br /&gt;
 Slicer-4.0.1-rc1-2012-01-05-linux-amd64  2012-01-05  development   nightly build after the release candidate&lt;br /&gt;
 Slicer-4.0.1-rc2-linux-amd64             2012-01-11    release     release candidate 2 of Slicer 4.0.1&lt;br /&gt;
 Slicer-4.0.1-rc2-2012-01-12-linux-amd64  2012-01-12  development   nightly build after the release candidate&lt;br /&gt;
 Slicer-4.0.1-linux-amd64                 2012-01-14    release     release of Slicer 4.0.1&lt;br /&gt;
 Slicer-4.0.1-2012-01-20-linux-amd64      2012-01-20  development   nightly build after 4.0.1&lt;br /&gt;
 Slicer-4.0.1-1-linux-amd64               2012-01-28    release     tweak version 1 of Slicer 4.0.1&lt;br /&gt;
 Slicer-4.0.2-linux.amd64                 2012-06-05    release     release of Slicer 4.0.2&lt;br /&gt;
&lt;br /&gt;
= Extension package - Naming scheme =&lt;br /&gt;
&lt;br /&gt;
* Create &amp;lt;code&amp;gt;Extensions-XYZ-Nightly&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Extensions-XYZ-Continuous&amp;lt;/code&amp;gt; tracks on CDash&lt;br /&gt;
&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>UpdateBot</name></author>
		
	</entry>
</feed>