[Insight-users] ITK_USE_SYSTEM_GDCM ITK V4
Rômulo Pinho
romulo.pinho at lyon.unicancer.fr
Mon Nov 5 04:11:03 EST 2012
Hello again,
I have another question about ITKv4 and ITK_USE_SYSTEM_GDCM...
How can we know (or should we?) if ITK_USE_SYSTEM_GDCM is ON/OFF from
inside our own cmake project? In ITK3.20, there is a
set(ITK_USE_SYSTEM_GDCM <VALUE>) directive inside ITKConfig.cmake, which
has disappeared in ITKv4...
Thanks in advance for any tip.
Regards,
Rômulo
On 11/02/2012 04:30 PM, Rômulo Pinho wrote:
> Hello,
>
> I'd like to bring back the thread
> http://www.itk.org/pipermail/insight-users/2011-December/043218.html,
> because it seems to me that there is still something broken in ITKv4
> comipilation with ITK_USE_SYSTEM_GDCM (GDCM 2.x).
>
> Despite the corrections made in
> http://review.source.kitware.com/#/c/1712/, I find it strange that we
> must make-install GDCM even if we're compiling/linking ITK with GDCM's
> build tree (as described in the thread above). The make-install
> solution only works if the installation folder is a "system" folder,
> which is added to the link directives by default. I think it's even a
> dangerous solution if we are, eg, testing a new GDCM version and
> trying to link with its own build tree, while "silently" linking with
> an old (previously make-installed) version, since the latter is the
> one the linker will actually find.
>
> Patching ITK_SOURCE_DIR/Modules/ThirdParty/GDCM/itk-module-init.cmake
> as below
>
> ###
> option(ITK_USE_SYSTEM_GDCM "Use an outside build of GDCM." OFF)
> mark_as_advanced(ITK_USE_SYSTEM_GDCM)
>
> if(ITK_USE_SYSTEM_GDCM)
> find_package(GDCM REQUIRED)
> + include(${GDCM_USE_FILE})
> endif()
> ###
>
> seems to solve the problem.
>
> However, ITKConfig doesn't import the library paths exported by GDCM,
> so in the end I get "-lgdcmXXX not found" erros when linking my
> program with ITKv4 + (a non-make-installed) SYSTEM_GDCM. After
> building ITK, I noticed that ITKGDCM_LIBRARY_DIRS is empty in (BUILD
> or INSTALL)_DIR/lib/cmake/ITK-4.2/Modules/ITKGDCM.cmake, in contrast
> with ITKGDCM_INCLUDE_DIRS, which does contain the right paths (i.e.,
> those exported by GDCM). Manually updating ITKGDCM_LIBRARY_DIRS does
> solve the problem, but I'm not a cmake expert and couldn't find which
> file(s) should be patched so that things work as I would expect.
>
> Does anyone have faced this problem as well?
> Kind regards,
>
> Rômulo
> --
> Rômulo PINHO
> Post-doc Research Engineer
> Centre Léon Bérard
> 28, rue Laennec 69373
> Lyon, France
> +33 (0)4 78 78 51 50
> romulo.pinho at lyon.unicancer.fr
> http://www.creatis.insa-lyon.fr/rio/RomuloPinho
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20121105/b7755f97/attachment.htm>
More information about the Insight-users
mailing list