As described in the ITKModuleTemplate README, it is possible to build and develop ITK modules on GitHub. The ITKModuleTemplate creates a configuration with continuous integration testing to build and test the module on Linux and build Python packages for Linux, macOS, and Windows.
The builds, by default, use the latest released version of ITK, including the ITK 5.0 alpha tags. With the transition to C++11, the Python packages are not expected to be compatible between ITK 4 and ITK 5.
It is possible to develop and test the module against both 4.13 and 5.X. Here are the steps:
- Create a branch, e.g.
ITKv4. Push this branch to GitHub and develop for 4.13 on this branch, while 5.X development can occur on
- In the
.circleci/config.yml, build with the
insighttoolkit/module-ci:v4.13instead of the
- In the
export ITK_PACKAGE_VERSION=v4.13.0before calling
- export ITK_PACKAGE_VERSION=v4.13.0before calling
appveyor.yml, set the build command to
- On the 5.X development branch, set the
setup.pyto a pre-release version, i.e.
X.Yare higher numbers than the versions on the 4.X branch. This will ensure that a user can install the 4.X-based package with
pip install itk-mymoduleor the 5.X-based package with
pip install --pre itk-mymodule.
This patch provides as an example.