@dzenanz - yes, you are right. For the config I listed, only ZLIB gets pulled, not the others.
I am still trying to work backwards from my list of functions to modules to see the slimmest possible ITK I can have. Do you have any suggestions for a rigorous process to follow for this? e.g ITKGroup_Core seems like something I HAVE to enable, which results in:
– Enabled ITKTestKernel, needed by [ITKGroup_Core].
Which then results in all the other IO’s getting pulled in:
– Enabled ITKIOJPEG, needed by [ITKTestKernel].
– Enabled ITKIOBMP, needed by [ITKTestKernel].
etc…
The entire groups is not necessary. In fact, you could disable it and rely on module interdependencies to only bring in the required ones. That will be ITKCommon and maybe some others, but almost certainly not ITKTestKernel, which is usually only needed by tests. ITKTestKernel brings in most IOs.
You could/should use WhatModulesITK.py. And instead of putting them in your find_package's components list in your CMakeLists, you enable them in your ITK compile configuration.