QIICR / dcmqi

dcmqi (DICOM for Quantitative Imaging) is a free, open source C++ library for conversion between imaging research formats and the standard DICOM representation for image analysis results
https://qiicr.gitbook.io/dcmqi-guide/
BSD 3-Clause "New" or "Revised" License
241 stars 61 forks source link

support for new dcmtk targets #459

Closed lorteddie closed 2 years ago

lorteddie commented 2 years ago

DCMTK 3.6.7 introduced targets like DCMTK::dcmdata which should be used instead of the old style listing all modules and include directory

fedorov commented 2 years ago

The issue is that dcmqi is still using 3.6.6, I believe https://github.com/QIICR/dcmqi/blob/master/CMakeExternals/DCMTK.cmake#L37, and so does Slicer https://github.com/Slicer/Slicer/blob/main/SuperBuild/External_DCMTK.cmake#L55. We should probably first update and test DCMTK versions used.

lorteddie commented 2 years ago

it should work with with both versions, i did not want to force anyone to use a specific version. we use dcmqi without superbuild using our own dcmtk, other users might do that as well

fedorov commented 2 years ago

it should work with with both versions

Ok, if it should work, that's fine. I was confused since you said "3.6.7 introduced targets like DCMTK::dcmdata which should be used instead of the old style", and I understood it that this is a feature specific to 3.6.7.

lorteddie commented 2 years ago

oh sorry, i meant they should be preferred over the old style. the changed code tests if the new style dcmtk targets are available by just testing if dcmtk::dcmtk is available as target, dcmtk:dcmtk is the new 'all modules' target pretty much equivalent to the old 'DCMTK_LIBRARIES' variable which listed all modules as a list. if the new style is there use it, if not fallback to old style.

fedorov commented 2 years ago

I see it, sorry I missed this initially. Thank you for the contribution!