Difference between revisions of "Documentation/Nightly/Developers/Build ExtensionsIndex"

From Slicer Wiki
Jump to: navigation, search
m
(moved to readthedocs)
Tags: 2017 source edit, Replaced
 
(18 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__TOC__
+
<noinclude>{{documentation/versioncheck}}</noinclude>
  
== Overview ==
+
{{documentation/banner
 
+
| text  = [https://slicer.readthedocs.io/en/latest/developer_guide/extensions.html#extensions-build-system This page has been moved to read-the-docs.]
This page explain how to build an ExtensionsIndex.
+
| background-color = 8FBC8F }}
 
 
Think of the ExtensionsIndex as a repository containing a list of [[Documentation/{{documentation/version}}/Developers/Extensions/DescriptionFile|extension description files]] (*.s4ext) used by the Slicer extensions build system to build, test, package and upload extensions on an extensions server.
 
 
 
Once uploaded on an extensions server, within Slicer, extensions can be installed using the [[Documentation/{{documentation/version}}/SlicerApplication/ExtensionsManager|extensions manager]].
 
 
 
There are two possible approaches to build it:
 
* [[#Manual_build|Manual build]]
 
* [[#Dashboard_driven_build|Dashboard driven build]]
 
 
 
== Manual build ==
 
 
 
Locally building an extension index provides a convenient way to:
 
 
 
* check [[Documentation/{{documentation/version}}/Developers/Extensions/DescriptionFile|extension description files]] are valid
 
* upload one or more extensions at ones to check that Slicer can [[Documentation/{{documentation/version}}/SlicerApplication/ExtensionsManager|download and install]] them
 
 
 
 
 
Given a directory containing one or more extension description files, it is possible to manually
 
configure and build the associated extensions specifying the following CMake options:
 
 
 
<table class="alternate">
 
  <tr>
 
    <td><code>Slicer_DIR</code></td>
 
    <td>Path to Slicer build tree</td>
 
  </tr>
 
  <tr>
 
    <td><code>Slicer_EXTENSION_DESCRIPTION_DIR</code></td>
 
    <td>Path to folder containing extension description files</td>
 
  </tr>
 
</table>
 
 
 
Optionally, it is also possible to specify:
 
 
 
<table class="alternate">
 
  <tr>
 
    <td><code>[http://www.cmake.org/cmake/help/v2.8.8/cmake.html#variable:CMAKE_BUILD_TYPE CMAKE_BUILD_TYPE]</code></td>
 
    <td>On unix-like platform, should match the build type of the associated Slicer build directory</td>
 
  </tr>
 
  <tr>
 
    <td><code>Slicer_UPLOAD_EXTENSIONS</code></td>
 
    <td>By default set to <code>OFF</code>.<br>If enabled, extension builds will be submitted to Slicer dashboard and associated packages will be uploaded to extensions server</td>
 
  </tr>
 
  <tr>
 
    <td><code>MIDAS_PACKAGE_URL</code></td>
 
    <td>MIDAS extensions server URL speciManualfying where the extension should be uploaded. For example http://slicer.kitware.com/midas3</td>
 
  </tr>
 
  <tr>
 
    <td><code>MIDAS_PACKAGE_EMAIL</code></td>
 
    <td>Email allowing to authenticate to the extensions server.</td>
 
  </tr>
 
  <tr>
 
    <td><code>MIDAS_PACKAGE_API_KEY</code></td>
 
    <td>Token allowing to authenticate to the extensions server.</td>
 
  </tr>
 
</table>
 
 
 
 
 
== Dashboard driven build ==
 

Latest revision as of 20:18, 28 September 2021

Home < Documentation < Nightly < Developers < Build ExtensionsIndex