What Bill provides is a method to reduce the number of ITK modules used in the entire project. This can also be done on a per target level. Reducing the number of include paths during compilation and libraries used during linking or runtime loading of dynamic libraries.
While CMake has a modern (newer then ITK module) system for managing target properties and interfaces. ITK still has a custom module infrastructure.
SimpleITK has a macro to mimic the CMake target_link_libraries interface options to enable target specific linkage and include paths.
You can file the CMake macro here:
and an example usage here:
Using this method adds the modern CMake interface options to your libraries, so transitive properties are automatically handled by CMake.