|
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 == | |