Missing header files in ITK package I built

I am maintaining dcmqi, which is a library that uses ITK for a handful of operations, including IO and some basic filtering. For quite some time I used an older version of ITK, which I customized manually to take out as much as possible in order to be able to build the package in AppVeyor within the free 60 min allowance.

Since I want to reduce build time of the main library, I am building packages for ITK and other dependencies separately, and reuse those packages in dcmqi. I use AppVeyor for CI.

Currently I am working to migrate to ITK 5.3, and use CMake options to select just the groups/modules that I need. I was able to build and package ITK, see ITK-dcmqi/appveyor.yml at dcmqi · QIICR/ITK-dcmqi · GitHub, but while building dcmqi I am getting errors due to missing header files:

I have Filtering group enabled while building ITK, and I further enabled ImageStatistics and LabelMap modules, but I am still missing those headers.

Am I doing something incorrectly, or is there a bug in ITK packaging and those files are just missed?

Hello @fedorov,

You may be interesting in what is done in the libitk-feedstock for Conda-forge. Specifically the steps used to install ITK for Conda packaging:

1 Like

I think you have a typo here:

You have:

-DITKGroup_Core:BOOL=ON -DITK_GroupFiltering:BOOL=ON

It should be:

-DITKGroup_Core:BOOL=ON -DITKGroup_Filtering:BOOL=ON

Warnings about unused variables passed to CMake are quite useful.

4 Likes

@phcerdan thank you, that was it! Sorry I missed it.

3 Likes