<?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.10%2FDevelopers%2FTutorials%2FBundleModulesIntoExtension</id>
	<title>Documentation/4.10/Developers/Tutorials/BundleModulesIntoExtension - 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.10%2FDevelopers%2FTutorials%2FBundleModulesIntoExtension"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/Tutorials/BundleModulesIntoExtension&amp;action=history"/>
	<updated>2026-04-26T17:54:26Z</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.10/Developers/Tutorials/BundleModulesIntoExtension&amp;diff=62545&amp;oldid=prev</id>
		<title>Grundlett: Text replacement - &quot;\[http:\/\/www\.slicer\.org\/slicerWiki\/images\/([^ ]+) ([^]]+)]&quot; to &quot;[http://www.slicer.org/w/img_auth.php/$1 $2]&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/Tutorials/BundleModulesIntoExtension&amp;diff=62545&amp;oldid=prev"/>
		<updated>2019-11-27T12:39:46Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;\[http:\/\/www\.slicer\.org\/slicerWiki\/images\/([^ ]+) ([^]]+)]&amp;quot; to &amp;quot;[http://www.slicer.org/w/img_auth.php/$1 $2]&amp;quot;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 12:39, 27 November 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l232&quot; &gt;Line 232:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 232:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Documentation/{{documentation/version}}/Developers/Tutorials/BuildTestPackageDistributeExtensions|Step-by-step: How to create, publish and distribute an extension]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Documentation/{{documentation/version}}/Developers/Tutorials/BuildTestPackageDistributeExtensions|Step-by-step: How to create, publish and distribute an extension]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.slicer.org/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;slicerWiki&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;images&lt;/del&gt;/a/a1/AHM-2011-SlicerExtensions-final.ppt AHM 2011 SlicerExtensions presentation]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.slicer.org/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;w&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;img_auth.php&lt;/ins&gt;/a/a1/AHM-2011-SlicerExtensions-final.ppt AHM 2011 SlicerExtensions presentation]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Read [[Documentation/{{documentation/version}}/FAQ|FAQ]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Read [[Documentation/{{documentation/version}}/FAQ|FAQ]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Grundlett</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/Tutorials/BundleModulesIntoExtension&amp;diff=61668&amp;oldid=prev</id>
		<title>Grundlett: Text replacement - &quot;slicerWiki/index.php&quot; to &quot;wiki&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/Tutorials/BundleModulesIntoExtension&amp;diff=61668&amp;oldid=prev"/>
		<updated>2019-11-21T17:04:02Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;slicerWiki/index.php&amp;quot; to &amp;quot;wiki&amp;quot;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 17:04, 21 November 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l106&quot; &gt;Line 106:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 106:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Extension meta-information &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Extension meta-information &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_NAME MyExtension)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_NAME MyExtension)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_HOMEPAGE &amp;quot;http://www.slicer.org/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;slicerWiki/index.php&lt;/del&gt;/Documentation/4.1/Extensions/${EXTENSION_NAME}&amp;quot;)  &amp;lt;- - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_HOMEPAGE &amp;quot;http://www.slicer.org/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wiki&lt;/ins&gt;/Documentation/4.1/Extensions/${EXTENSION_NAME}&amp;quot;)  &amp;lt;- - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_CATEGORY &amp;quot;Examples&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_CATEGORY &amp;quot;Examples&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_CONTRIBUTORS &amp;quot;Jean-Christophe Fillion-Robin (Kitware)&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_CONTRIBUTORS &amp;quot;Jean-Christophe Fillion-Robin (Kitware)&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l182&quot; &gt;Line 182:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 182:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Extension meta-information &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Extension meta-information &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_NAME MyLoadableModuleExtension)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_NAME MyLoadableModuleExtension)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_HOMEPAGE &amp;quot;http://www.slicer.org/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;slicerWiki/index.php&lt;/del&gt;/Documentation/4.1/Extensions/${MODULE_NAME}&amp;quot;)  &amp;lt;- - - - -  EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_HOMEPAGE &amp;quot;http://www.slicer.org/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wiki&lt;/ins&gt;/Documentation/4.1/Extensions/${MODULE_NAME}&amp;quot;)  &amp;lt;- - - - -  EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_CATEGORY &amp;quot;Examples&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_CATEGORY &amp;quot;Examples&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_CONTRIBUTORS &amp;quot;Jean-Christophe Fillion-Robin (Kitware)&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;set(EXTENSION_CONTRIBUTORS &amp;quot;Jean-Christophe Fillion-Robin (Kitware)&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Grundlett</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/Tutorials/BundleModulesIntoExtension&amp;diff=59784&amp;oldid=prev</id>
		<title>UpdateBot: Nightly -&gt; 4.10</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/Tutorials/BundleModulesIntoExtension&amp;diff=59784&amp;oldid=prev"/>
		<updated>2018-10-19T00:43:44Z</updated>

		<summary type="html">&lt;p&gt;Nightly -&amp;gt; 4.10&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;
= Overview =&lt;br /&gt;
&lt;br /&gt;
Extensions are packaged against a specific version of Slicer, to be distributed and available for a revision X of Slicer, extensions have to be build against that same revision of Slicer. Otherwise, an extension will be considered as [[Documentation/{{documentation/version}}/SlicerApplication/ExtensionsManager#Incompatible_extensions|incompatible]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:none; border-left:thick solid darkgreen; padding-left:1em;&amp;quot;&amp;gt;  &lt;br /&gt;
  &amp;lt;li&amp;gt;If you are not familiar with the extension creation and contribution process, consider reading [[Documentation/{{documentation/version}}/Developers/Tutorials/BuildTestPackageDistributeExtensions|Step-by-step: How to create, publish and distribute an extension]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CMake variables =&lt;br /&gt;
&lt;br /&gt;
To create an extension, the following CMake variables should be defined:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot; style=&amp;quot;text-align:left; width:70%; border:1px solid black;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=col style=&amp;quot;background:#cde6f8;&amp;quot;| CMake variable&lt;br /&gt;
! scope=col style=&amp;quot;background:#cde6f8;&amp;quot;| Description&lt;br /&gt;
! scope=col style=&amp;quot;background:#cde6f8;&amp;quot;| Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EXTENSION_NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Name of the extension&lt;br /&gt;
| {{Done}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EXTENSION_HOMEPAGE&amp;lt;/code&amp;gt;&lt;br /&gt;
| Url of the web page describing the extension&lt;br /&gt;
| {{Done}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EXTENSION_CATEGORY&amp;lt;/code&amp;gt;&lt;br /&gt;
| Extension category&lt;br /&gt;
| {{Done}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EXTENSION_CONTRIBUTORS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Extension contributor specified as &amp;lt;code&amp;gt;Firstname1 Lastname1 ([SubOrg1, ]Org1), Firstname2 Lastname2 ([SubOrg2, ]Org2)&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EXTENSION_DESCRIPTION&amp;lt;/code&amp;gt;&lt;br /&gt;
| One line describing what is the purpose of the extension&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EXTENSION_ICONURL&amp;lt;/code&amp;gt;&lt;br /&gt;
| Url to an icon (png, size 128x128 pixels)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EXTENSION_SCREENSHOTURLS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Space separated list of urls to images&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EXTENSION_DEPENDS&amp;lt;/code&amp;gt;&lt;br /&gt;
| List of extensions required to build this extension. Specify &amp;quot;NA&amp;quot; if there are no dependency.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of partially supported CMake variables:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot; style=&amp;quot;text-align:left; width:70%; border:1px solid black;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=col style=&amp;quot;background:#cde6f8;&amp;quot;| CMake variable&lt;br /&gt;
! scope=col style=&amp;quot;background:#cde6f8;&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EXTENSION_STATUS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Give people an idea what to expect from this code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Project layout =&lt;br /&gt;
&lt;br /&gt;
The code should be organized as illustrated below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  MyExtension  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - Top-level folder of the extension project&lt;br /&gt;
       |&lt;br /&gt;
       |-- CMakeLists.txt&lt;br /&gt;
       |&lt;br /&gt;
       |-- MyExtension.png&lt;br /&gt;
       |&lt;br /&gt;
       |-- MyCLIModule&lt;br /&gt;
       |        |&lt;br /&gt;
       |        |-- CMakeLists.txt&lt;br /&gt;
       |        |&lt;br /&gt;
       |        |-- MyCLIModule.cxx&lt;br /&gt;
       |        |&lt;br /&gt;
       |        |-- MyCLIModule.xml&lt;br /&gt;
       .        .&lt;br /&gt;
       .        .&lt;br /&gt;
       |&lt;br /&gt;
       |-- MyLoadableModule&lt;br /&gt;
                |&lt;br /&gt;
                |-- CMakeLists.txt&lt;br /&gt;
                |&lt;br /&gt;
                |-- qSlicerMyLoadableModuleModule.cxx&lt;br /&gt;
                |&lt;br /&gt;
                |-- qSlicerMyLoadableModuleModule.h&lt;br /&gt;
                .&lt;br /&gt;
                .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Top-level CMakeLists.txt =&lt;br /&gt;
&lt;br /&gt;
The top-level &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; could be organized as reported below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.8.9)&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
# Extension meta-information &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_NAME MyExtension)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_HOMEPAGE &amp;quot;http://www.slicer.org/slicerWiki/index.php/Documentation/4.1/Extensions/${EXTENSION_NAME}&amp;quot;)  &amp;lt;- - - - EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_CATEGORY &amp;quot;Examples&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_CONTRIBUTORS &amp;quot;Jean-Christophe Fillion-Robin (Kitware)&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_DESCRIPTION &amp;quot;This is an example of extension bundling a CLI, a loadable and a scripted module&amp;quot;)  &amp;lt;- - - - - - - EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_ICONURL &amp;quot;http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Extensions/Testing/LoadableExtensionTemplate/Resources/Icons/LoadableExtensionTemplate.png?revision=19437&amp;amp;view=co&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
find_package(Slicer REQUIRED)&lt;br /&gt;
include(${Slicer_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
add_subdirectory(MyCLIModule)&lt;br /&gt;
add_subdirectory(MyLoadableModule)&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
include(${Slicer_EXTENSION_CPACK})  &amp;lt;- - - - -  EXTENSION SPECIFIC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Possible tweak of Module level CMakeLists.txt =&lt;br /&gt;
&lt;br /&gt;
During the development process, it could be useful to be able to build each module against a given slicer build tree without having to build the complete extensions, to do so the &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; of each module could include &amp;lt;code&amp;gt;find_package(Slicer REQUIRED)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For example, the &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; of &amp;lt;code&amp;gt;MyCLIModule&amp;lt;/code&amp;gt; module that would be bundled into &amp;lt;code&amp;gt;MyExtension&amp;lt;/code&amp;gt; could include the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.8.9)&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
set(MODULE_NAME MyCLIModule) # Do not use 'project()'&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
find_package(Slicer REQUIRED)&lt;br /&gt;
include(${Slicer_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
= Extension bundles 1 module =&lt;br /&gt;
&lt;br /&gt;
This section describes how a developer could write (or update) the &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; of a regular Slicer module so that it could be packaged and published as an extension.&lt;br /&gt;
&lt;br /&gt;
== CMake variables ==&lt;br /&gt;
&lt;br /&gt;
In case an extension is expected to bundle exactly one module, the CMake variables to define an extension are detailed [[#CMake_variables|above]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project layout ==&lt;br /&gt;
&lt;br /&gt;
In this case the extension should be organized as illustrated below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 MyLoadableModuleExtension &amp;lt;- - - - - - - - - - - - - - - - - - - - - - Top-level folder of the extension project&lt;br /&gt;
       |&lt;br /&gt;
       |-- CMakeLists.txt&lt;br /&gt;
       |&lt;br /&gt;
       |-- qSlicerMyLoadableModuleExtensionModule.cxx&lt;br /&gt;
       |&lt;br /&gt;
       |-- qSlicerMyLoadableModuleExtensionModule.h&lt;br /&gt;
       .&lt;br /&gt;
       .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Top-level CMakeLists.txt ==&lt;br /&gt;
&lt;br /&gt;
The top-level &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; could be organized as reported below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.8.9)&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
# Extension meta-information &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_NAME MyLoadableModuleExtension)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_HOMEPAGE &amp;quot;http://www.slicer.org/slicerWiki/index.php/Documentation/4.1/Extensions/${MODULE_NAME}&amp;quot;)  &amp;lt;- - - - -  EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_CATEGORY &amp;quot;Examples&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_CONTRIBUTORS &amp;quot;Jean-Christophe Fillion-Robin (Kitware)&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_DESCRIPTION &amp;quot;This is an example of Qt loadable module built as an extension&amp;quot;)  &amp;lt;- - - - - - - - - - - - - - - - EXTENSION SPECIFIC&lt;br /&gt;
set(EXTENSION_ICONURL &amp;quot;http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Extensions/Testing/LoadableExtensionTemplate/Resources/Icons/LoadableExtensionTemplate.png?revision=19437&amp;amp;view=co&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
set(MODULE_NAME MyLoadableModuleExtension)&lt;br /&gt;
set(MODULE_TITLE ${MODULE_NAME})&lt;br /&gt;
&lt;br /&gt;
string(TOUPPER ${MODULE_NAME} MODULE_NAME_UPPER)&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
find_package(Slicer REQUIRED)&lt;br /&gt;
include(${Slicer_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
add_subdirectory(Logic)&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
set(MODULE_EXPORT_DIRECTIVE &amp;quot;Q_SLICER_QTMODULES_${MODULE_NAME_UPPER}_EXPORT&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
slicerMacroBuildQtModule(&lt;br /&gt;
  NAME ${MODULE_NAME}&lt;br /&gt;
  TITLE ${MODULE_TITLE}&lt;br /&gt;
  EXPORT_DIRECTIVE ${MODULE_EXPORT_DIRECTIVE}&lt;br /&gt;
  INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES}&lt;br /&gt;
  SRCS ${MODULE_SRCS}&lt;br /&gt;
  MOC_SRCS ${MODULE_MOC_SRCS}&lt;br /&gt;
  UI_SRCS ${MODULE_UI_SRCS}&lt;br /&gt;
  TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES}&lt;br /&gt;
  RESOURCES ${MODULE_RESOURCES}&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
if(BUILD_TESTING)&lt;br /&gt;
  add_subdirectory(Testing)&lt;br /&gt;
endif()&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------------&lt;br /&gt;
include(${Slicer_EXTENSION_CPACK})  &amp;lt;- - - - -  EXTENSION SPECIFIC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Additional documentation =&lt;br /&gt;
&lt;br /&gt;
* [[Documentation/{{documentation/version}}/Developers/Tutorials/BuildTestPackageDistributeExtensions|Step-by-step: How to create, publish and distribute an extension]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/images/a/a1/AHM-2011-SlicerExtensions-final.ppt AHM 2011 SlicerExtensions presentation]&lt;br /&gt;
* Read [[Documentation/{{documentation/version}}/FAQ|FAQ]]&lt;/div&gt;</summary>
		<author><name>UpdateBot</name></author>
		
	</entry>
</feed>