[cmake-developers] [CMake] CMake 2.8.12-rc2 FindHDF5 issues

Orion Poplawski orion at cora.nwra.com
Tue Sep 17 18:01:30 EDT 2013


On 09/16/2013 09:58 PM, clinton at elemtech.com wrote:
> Same here... and this looks like a regression:
>
> A simple CMakeLists.txt like this can reproduce it.
>
> set(CMAKE_BUILD_TYPE Debug)
> find_package(HDF5 COMPONENTS C HL REQUIRED)
> add_executable(foo foo.cpp)
> target_link_libraries(foo ${HDF5_LIBRARIES})
>
> FindHDF5.cmake misuses CMAKE_BUILD_TYPE and CMAKE_CONFIGURATION_TYPES when assembling the HDF5_LIBRARIES variable.  If I clear out the CMAKE_BUILD_TYPE variable, then the problem goes away.
>
> Clint
>

cmake 2.8.11.2:

-- Found HDF5: 
debug;/usr/lib64/libz.so;debug;/usr/lib64/libdl.so;debug;/usr/lib64/libm.so;debug;/usr/lib64/libhdf5_hl.so;debug;/usr/lib64/libhdf5.so;optimized;/usr/lib64/libz.so;optimized;/usr/lib64/libdl.so;optimized;/usr/lib64/libm.so;optimized;/usr/lib64/libhdf5_hl.so;optimized;/usr/lib64/libhdf5.so

cmake 2.8.12-rc2:

-- Found HDF5: 
debug;HDF5_hdf5_LIBRARY_DEBUG-NOTFOUND;debug;HDF5_z_LIBRARY_DEBUG-NOTFOUND;debug;HDF5_dl_LIBRARY_DEBUG-NOTFOUND;debug;HDF5_m_LIBRARY_DEBUG-NOTFOUND;debug;HDF5_hdf5_hl_LIBRARY_DEBUG-NOTFOUND;debug;HDF5_hdf5_LIBRARY_DEBUG-NOTFOUND;optimized;/usr/lib64/libz.so;optimized;/usr/lib64/libdl.so;optimized;/usr/lib64/libm.so;optimized;/usr/lib64/libhdf5_hl.so;optimized;/usr/lib64/libhdf5.so


In comparing the CMakeCache:

--- cmake-2.8.11.2/CMakeCache.txt       2013-09-17 15:53:24.202694310 -0600
+++ cmake-2.8.12-rc2/CMakeCache.txt     2013-09-17 15:54:02.217467588 -0600

@@ -188,45 +203,30 @@
  //HDF5 library compiled with parallel IO support
  HDF5_IS_PARALLEL:BOOL=FALSE

-//The HDF5_dl library
-HDF5_dl_LIBRARY:FILEPATH=/usr/lib64/libdl.so
-
  //Path to a library.
  HDF5_dl_LIBRARY_DEBUG:FILEPATH=HDF5_dl_LIBRARY_DEBUG-NOTFOUND

  //Path to a library.
  HDF5_dl_LIBRARY_RELEASE:FILEPATH=/usr/lib64/libdl.so

-//The HDF5_hdf5 library
-HDF5_hdf5_LIBRARY:FILEPATH=/usr/lib64/libhdf5.so
-
  //Path to a library.
  HDF5_hdf5_LIBRARY_DEBUG:FILEPATH=HDF5_hdf5_LIBRARY_DEBUG-NOTFOUND

  //Path to a library.
  HDF5_hdf5_LIBRARY_RELEASE:FILEPATH=/usr/lib64/libhdf5.so

-//The HDF5_hdf5_hl library
-HDF5_hdf5_hl_LIBRARY:FILEPATH=/usr/lib64/libhdf5_hl.so
-
  //Path to a library.
  HDF5_hdf5_hl_LIBRARY_DEBUG:FILEPATH=HDF5_hdf5_hl_LIBRARY_DEBUG-NOTFOUND

  //Path to a library.
  HDF5_hdf5_hl_LIBRARY_RELEASE:FILEPATH=/usr/lib64/libhdf5_hl.so

-//The HDF5_m library
-HDF5_m_LIBRARY:FILEPATH=/usr/lib64/libm.so
-
  //Path to a library.
  HDF5_m_LIBRARY_DEBUG:FILEPATH=HDF5_m_LIBRARY_DEBUG-NOTFOUND

  //Path to a library.
  HDF5_m_LIBRARY_RELEASE:FILEPATH=/usr/lib64/libm.so

-//The HDF5_z library
-HDF5_z_LIBRARY:FILEPATH=/usr/lib64/libz.so
-
  //Path to a library.
  HDF5_z_LIBRARY_DEBUG:FILEPATH=HDF5_z_LIBRARY_DEBUG-NOTFOUND


So, both have _DEBUG as NOTFOUND - but 2.8.12-rc2 is also missing the 
HDF5_*_LIBRARY vars.

  //Details about finding HDF5
-FIND_PACKAGE_MESSAGE_DETAILS_HDF5:INTERNAL=[debug;/usr/lib64/libz.so;debug;/usr/lib64/libdl.so;debug;/usr/lib64/libm.so;debug;/usr/lib64/libhdf5_hl.so;debug;/usr/lib64/libhdf5.so;optimized;/usr/lib64/libz.so;optimized;/usr/lib64/libdl.so;optimized;/usr/lib64/libm.so;optimized;/usr/lib64/libhdf5_hl.so;optimized;/usr/lib64/libhdf5.so][/usr/include][v()]
+FIND_PACKAGE_MESSAGE_DETAILS_HDF5:INTERNAL=[debug;HDF5_hdf5_LIBRARY_DEBUG-NOTFOUND;debug;HDF5_z_LIBRARY_DEBUG-NOTFOUND;debug;HDF5_dl_LIBRARY_DEBUG-NOTFOUND;debug;HDF5_m_LIBRARY_DEBUG-NOTFOUND;debug;HDF5_hdf5_hl_LIBRARY_DEBUG-NOTFOUND;debug;HDF5_hdf5_LIBRARY_DEBUG-NOTFOUND;optimized;/usr/lib64/libz.so;optimized;/usr/lib64/libdl.so;optimized;/usr/lib64/libm.so;optimized;/usr/lib64/libhdf5_hl.so;optimized;/usr/lib64/libhdf5.so][/usr/include][v()]


As Rolf noted, FindHDF5 has not changed.

-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA, Boulder/CoRA Office             FAX: 303-415-9702
3380 Mitchell Lane                       orion at nwra.com
Boulder, CO 80301                   http://www.nwra.com


More information about the cmake-developers mailing list