I would like disable some default modules, specially GDCM / GDCMIO, in my application i use own stuff for DICOM and also GDCM-clone library, so i don’t need the module.
Is it possible with some command line argument? Tried in cmake-gui, but it was somewhat complicated, many click are required, i need this for 4 builds.
You have to first disable
ITK_BUILD_DEFAULT_MODULES. Then you will see the modules and groups that you can enable or disable based on your needs.
You can also enable
ITK_USE_SYSTEM_GDCM and other
ITK_USE_SYSTEM_* options and provide path to your versions of those libraries.
Thanks, i used ITK_USE_SYSTEM_GDCM earlier, don’t want, i use another DICOM IO. I am surprised how difficult is to get rid of it. In the past, in earlier v4 versions it was possible, i remember, there were options, now there is no option, even if “default modules off” is set, now it is not a module, it is hard-coded as dependency, mostly for testing stuff. Could remove only with destructive editing.
It is a module. Have you tried setting the CMake options (in the terminal):
or maybe you just want to get rid off the IO with the second option.
If you have your own clone/version of GDCM, you can point to that one with the
ITK_USE_SYSTEM_GDCM and then disable the IO module if not interested.
Hope it helps
Thank you! Tried. May be it will work, not sure, shall look closer, currently GDCM was build with all dependencies i don’t want: openjpeg, socketxx, charls, jpeg
– Configuring done
– Generating done
Manually-specified variables were not used by the project:
– Build files have been written to: /home/r/itk/bITK
[ 41%] Built target gdcmsocketxx
[ 42%] Built target gdcmCommon
[ 44%] Built target gdcmDSED
[ 45%] Built target gdcmIOD
[ 46%] Built target gdcmDICT
[ 47%] Built target itkgdcmopenjp2
[ 47%] Built target gdcmcharls
[ 47%] Built target gdcmuuid
[ 50%] Built target gdcmjpeg8
[ 53%] Built target gdcmjpeg12
[ 56%] Built target gdcmjpeg16
[ 61%] Built target gdcmMSFF
[ 64%] Built target gdcmMEXD
[ 81%] Built target ITKIOGDCM
[ 81%] Built target ITKIOGDCM-all
GDCM might be requested by one of its dependencies. When configuring ITK, there is a list of all enabled modules along with the explanation what module/option requires it. For example
Enabled ITKGDCM, requested by ITK_BUILD_DEFAULT_MODULES. Look for what is requesting GDCM for you.
Oh, the IO module name is the other way around, sorry! Try:
(correcting the top post too)