ITK/Release 4/Modularization/ Add a module: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
1. Choose a group for your module
__TOC__
  Add your module into  "ITK/CMake/ITKGroups.cmake" to be include in ITK.


= Choose a group for your module =


2. Organize the source tree.
Add your module into "ITK/CMake/ITKGroups.cmake" under a specific group. During the CMake step, CMake will pick up information from this file for configuration.
  Modules are located under "ITK/Modules/<Group>/".
  In each module, there are "include","src", "test" subdirectories, where the headers, source code and testing code are located, respectively.
  The CMake components that are in need for "ITK-FOO" module in the Filtering group:
  * [[ITK_Release_4/Modularization/Add a module/CMakeLists.txt |Modules/Filtering/Foo/CMakeLists.txt]]
  * [[ITK_Release_4/Modularization/Add a module/itk-module.cmake |Modules/Filtering/Foo/itk-module.cmake]]
  * [[ITK_Release_4/Modularization/Add a module/test/CMakeLists.txt|Modules/Filtering/Foo/test/CMakeLists.txt]]
  * If this module generates a library or libraries (has .cxx source files): [[ITK_Release_4/Modularization/Add a module/src/CMakeLists.txt|Modules/Filtering/Foo/src/CMakeLists.txt]]


= Organize the source tree =
Modules are located under the directory\
  ITK/Modules/<GroupName>/
In each module, there are subdirectories,
* "include": header files (.h) and template source code (.hxx)
* "test": testing source code (.cxx)
* "src": source code (.cxx,.c)
The CMake components that are in need for  "ITKFOO" module in the Filtering group are :
* [[ITK_Release_4/Modularization/Add a module/CMakeLists.txt |Modules/Filtering/Foo/CMakeLists.txt]]
* [[ITK_Release_4/Modularization/Add a module/itk-module.cmake |Modules/Filtering/Foo/itk-module.cmake]]
* [[ITK_Release_4/Modularization/Add a module/test/CMakeLists.txt|Modules/Filtering/Foo/test/CMakeLists.txt]]
If this module generates a library or libraries (has .cxx source files), the source CMakeLists.txt is needed:
* [[ITK_Release_4/Modularization/Add a module/src/CMakeLists.txt|Modules/Filtering/Foo/src/CMakeLists.txt]]
= Examples =


Examples:
* All modules in ITK.
* All modules in ITK.
* Adding a moule is easy. Arnaud did it without intructions: added "ITK-FastMarching" module to ITK (No libraries. Templated source code only.) [http://review.source.kitware.com/#change,1311].
* Adding a moule is easy!
** Arnaud did it without instructions:[http://review.source.kitware.com/#change,1311] added "ITKFastMarching" module to ITK.

Latest revision as of 16:00, 9 December 2011

Choose a group for your module

Add your module into "ITK/CMake/ITKGroups.cmake" under a specific group. During the CMake step, CMake will pick up information from this file for configuration.

Organize the source tree

Modules are located under the directory\

 ITK/Modules/<GroupName>/


In each module, there are subdirectories,

  • "include": header files (.h) and template source code (.hxx)
  • "test": testing source code (.cxx)
  • "src": source code (.cxx,.c)


The CMake components that are in need for "ITKFOO" module in the Filtering group are :

If this module generates a library or libraries (has .cxx source files), the source CMakeLists.txt is needed:

Examples

  • All modules in ITK.
  • Adding a moule is easy!
    • Arnaud did it without instructions:[1] added "ITKFastMarching" module to ITK.