Difference between revisions of "Documentation/Nightly/Developers/Build system/Remote Module"
From Slicer Wiki
Line 15: | Line 15: | ||
At no time in the future should a module in the main Slicer repository depend on Remote module. | At no time in the future should a module in the main Slicer repository depend on Remote module. | ||
+ | |||
+ | |||
+ | |||
= Procedure for Adding a Remote Module = | = Procedure for Adding a Remote Module = | ||
− | 1 | + | <ol start="1" style="list-style-type: decimal;"> |
− | + | <li>Discuss with Slicer core Developers</li> | |
+ | |||
+ | <li> | ||
+ | <p>Add an entry into <code>SuperBuild.cmake</code> using <code>Slicer_Remote_Add()</code> macro. For example:</p> | ||
+ | |||
+ | <pre> | ||
+ | Slicer_Remote_Add(Foo | ||
+ | GIT_REPOSITORY git://github.com/john/foo | ||
+ | GIT_TAG abcdef | ||
+ | OPTION_NAME Slicer_BUILD_Foo | ||
+ | LABELS REMOTE_MODULE | ||
+ | ) | ||
+ | </pre> | ||
+ | </li> | ||
− | + | <li> | |
+ | <p>Corresponding commit message should be similar to:</p> | ||
<pre> | <pre> | ||
ENH: Add Foo remote module | ENH: Add Foo remote module | ||
Line 29: | Line 46: | ||
The Foo module provide the user with ... | The Foo module provide the user with ... | ||
</pre> | </pre> | ||
+ | </li> | ||
+ | </ol> | ||
= Procedure for Updating a Remote Module = | = Procedure for Updating a Remote Module = |
Revision as of 06:49, 17 December 2013
Home < Documentation < Nightly < Developers < Build system < Remote ModuleContents
Purpose of Remote Modules
Keep the Slicer core lean.
Allow individuals or organizations to work on their own private modules and optionally make these modules available to the Slicer users as without the need to use the extensions manager.
Policy for Adding and Removing Remote Modules
Module is known to compile on Linux, MacOSX and Windows.
Module is tested.
Module names must be unique.
At no time in the future should a module in the main Slicer repository depend on Remote module.
Procedure for Adding a Remote Module
- Discuss with Slicer core Developers
-
Add an entry into
SuperBuild.cmake
usingSlicer_Remote_Add()
macro. For example:Slicer_Remote_Add(Foo GIT_REPOSITORY git://github.com/john/foo GIT_TAG abcdef OPTION_NAME Slicer_BUILD_Foo LABELS REMOTE_MODULE )
-
Corresponding commit message should be similar to:
ENH: Add Foo remote module The Foo module provide the user with ...
Procedure for Updating a Remote Module
1. Update the entry into SuperBuild.cmake</code
2. Commit with a message similar to:
ENH: Update Foo remote module
$ git shortlog abc123..efg456
John Doe (2):
Add support for ZZZ spacing
Refactor space handler to support multi-dimension