@@ -36,7 +36,7 @@ can be found in the `ITK Software Guide
3636GitHub automated CI package builds
3737==================================
3838
39- Freely available GitHub Action continous integration (CI) build and test
39+ Freely available GitHub Actions continous integration (CI) build and test
4040services for open source repositories are provided by
4141`GitHub <https://github.com/ >`_. These services will build and test the C++
4242code for your module and also generate Linux, macOS, and Windows Python
@@ -52,6 +52,11 @@ Section.
5252.. figure :: images/GitHubActionArtifacts.png
5353 :alt: GitHub Action Artifacts
5454
55+ Reusable workflows available in
56+ [ITKRemoteModuleBuildTestPackageAction](https://github.com/InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction)
57+ can be used to handle the build-test-package process
58+ for a majority of ITK external modules with minimal extra development.
59+
5560Upload the packages to PyPI
5661----------------------------
5762
@@ -188,7 +193,7 @@ Then, build the wheels::
188193Windows
189194-------
190195
191- First, install Microsoft Visual Studio 2015 , Git, and CMake, which should be added to the system PATH environmental variable.
196+ First, install Microsoft Visual Studio 2022 , Git, and CMake, which should be added to the system PATH environmental variable.
192197
193198Open a PowerShell terminal as Administrator, and install Python::
194199
@@ -201,3 +206,33 @@ In a PowerShell prompt, run the `windows-build-wheels.ps1` script::
201206 PS C:\Windows> cd C:\ITKMyModule
202207 PS C:\ITKMyModule> git clone https://github.com/InsightSoftwareConsortium/ITKPythonPackage.git IPP
203208 PS C:\ITKMyModule> .\ITKPythonPackage\scripts\windows-download-cache-and-build-module-wheels.ps1
209+
210+ Other Notes
211+ -----------
212+
213+ ITK modules sometimes depend on third-party libraries. To include third-party libraries
214+ in development wheels for distribution, first add the library path to `LD_LIBRARY_PATH `
215+ on Linux, `DYLD_LIBRARY_PATH ` on MacOS, or `PATH ` on Windows. Then, run the platform
216+ build script.
217+
218+ ITK modules sometimes depend on other ITK modules. For instance, to build
219+ [ITKBSplineGradient](https://github.com/InsightSoftwareConsortium/ITKBSplineGradient)
220+ the user must first build ITK and then [ITKMeshToPolyData](https://github.com/InsightSoftwareConsortium/ITKmeshtopolydata).
221+ ITKPythonPackage scripts support iterative prerequisite ITK module dependencies with the `ITK_MODULE_PREQ `
222+ environment variable.
223+
224+ For Python build scripts, the ordered list of ITK module dependencies must be formatted as follows:
225+
226+ ```
227+ ITK_MODULE_PREQ=<module_org>/<module_name>@<module_tag>:<module_org>/<module_name>@<module_tag>:...
228+ ```
229+
230+ Where
231+ - `module_org ` is the name of a Github organization to use to fetch the module, i.e. "InsightSoftwareConsortium";
232+ - `module_name ` is the name of the module, i.e. "ITKMeshToPolyData";
233+ - `module_tag ` is the git tag or commit hash to use to fetch the module, i.e. "v1.0.0"
234+
235+ Module names must be provided in order of dependencies for the build to succeed.
236+
237+ For more information see the
238+ [build scripts directory](https://github.com/InsightSoftwareConsortium/ITKPythonPackage/tree/master/scripts).
0 commit comments