|(15 intermediate revisions by 3 users not shown)|
1. Choose a group for your module
Add your module into "ITK/CMake/ITKGroups.cmake" to be include in ITK.
2. Organize the source tree.
module "ITK//.cmakea . this .
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]]
An example: Add "ITK- FastMarching" module to ITK [http://review.source.kitware.com/#change,1311]
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\
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:
- All modules in ITK.
- Adding a moule is easy!
- Arnaud did it without instructions: added "ITKFastMarching" module to ITK.