[ITK] Compile ITK 4.7.0 with System HDF5
Michael Jackson
mike.jackson at bluequartz.net
Thu Feb 19 13:19:05 EST 2015
HDF5 1.8.14 generates those cmake files that are needed but the version
included with ITK is only 1.8.12 which did not have all of the newer
cmake improvements in 1.8.14. The issue is that I had to set all of the
HDF5 related variables which even for someone who has lots of CMake
experience can be an issue. The biggest problem I had was that even
though I would set HDF5_DIR to one directory, ITK seemed to simply
ignore those settings (made through theCMake-GUI app) and use "something
else". I just have no idea where it came up with the paths that ITK
decided to use. After lots of changing things and lots of iterations I
was finally able to convince ITK to compile against the System HDF5. One
of the issues was that once I got paths set and sticking from configure
to configure I still had to manually fill out:
HDF5_C_LIBRARY =
debug;C:/DREAM3D_SDK/hdf5-1.8.14/lib/hdf5_D.lib;optimized;C:/DREAM3D_SDK/hdf5-1.8.14/lib/hdf5.lib
as it was only picking up the Debug libraries. And since I'm on Visual
Studio linking a release build of something against a Debug build of
something is bad news.
How hard is it going to be to update the ITK build system with the newer
version of HDF5? Can it try the "new" way to find HDF5 with
Find_Package() and a fall back to previous behavior if not found? The
big issue for us is that our project already uses HDF5 and we are trying
to bring in ITK for image processing. But the configuration of ITK is
stopping us in our tracks. After fighting my way through this all
yesterday afternoon I finally got it to work. Now I just need to relay
these convoluted directions to the rest of my developers.
Thanks for any suggestions
Mike Jackson
DREAM3D.io
> Matt McCormick <mailto:matt.mccormick at kitware.com>
> Wednesday, February 18, 2015 9:21 PM
> Hi Mike,
>
> More guidance may be required when configuring against a system HDF5.
> HDF5 currently uses CMake as a secondary build system configuration,
> and some of its configurations could be improved.
>
> Setting HDF5_DIR on the first configure may help. Also, helping
> upstream improve their CMake configuration is a good idea :-). CMake
> has every improving guidance on cmake packages [1].
>
> Thanks,
> Matt
>
> [1] http://www.cmake.org/cmake/help/v3.2/manual/cmake-packages.7.html
>
> On Wed, Feb 18, 2015 at 6:34 PM, Michael Jackson
> Michael Jackson <mailto:mike.jackson at bluequartz.net>
> Wednesday, February 18, 2015 6:34 PM
> I have recently built HDF5 version 1.8.14 on my Windows 8.1 machine
> using Visual Studio 2013 compilers. Now when I configure ITK 4.7.1 to
> build using the "System HDF5" it picks up the installation of
> HDF5-1.8.14 in the C:/Users/mjackson/Workspace/hdf5-1.8.14 instead of
> the actual installation location of C:/DREAM3D_SDK/hdf5-1.8.14
>
> Then when I attempt to actually compile ITK I get a compile error that
> says it can not find include file "H5Cpp.h".
>
> So I rerun CMake and set the HDF5_DIR
> to C:/DREAM3D_SDK/hdf5-1.8.14/cmake/hdf5 and configure.
>
> I have also noticed that I have to manually set the HDF5_LIBRARIES to
> include both the debug and release versions of the libraries.
>
> I have never had to manually enter all this kind of information before
> with CMake projects. I am wondering if I just missing something simple
> with HDF5?
>
> Thanks
> _________________________________________________________
> Mike Jackson mike.jackson at bluequartz.net
> <mailto:mike.jackson at bluequartz.net>
> BlueQuartz Software www.bluequartz.net <http://www.bluequartz.net>
> Principal Software Engineer Dayton, Ohio
>
--
Sent with Postbox <http://www.getpostbox.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20150219/3f023636/attachment.html>
More information about the Community
mailing list