From b03fd6777a4513aa6e6fa526d9e4a42228e22906 Mon Sep 17 00:00:00 2001 From: John Biddiscombe Date: Thu, 25 Apr 2013 12:51:12 +0200 Subject: [PATCH] Fix some problems with FindHDF5 with windows shared libs --- Modules/FindHDF5.cmake | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake index 8514164..753d399 100644 --- a/Modules/FindHDF5.cmake +++ b/Modules/FindHDF5.cmake @@ -187,21 +187,33 @@ if( NOT HDF5_FOUND ) find_package( HDF5 QUIET NO_MODULE ) if( HDF5_FOUND ) set( HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR} ) - set( HDF5_LIBRARIES ) - set( HDF5_C_TARGET hdf5 ) - set( HDF5_CXX_TARGET hdf5_cpp ) - set( HDF5_HL_TARGET hdf5_hl ) - set( HDF5_Fortran_TARGET hdf5_fortran ) - set( HDF5_Fortran_HL_TARGET hdf5_hl_fortran ) - foreach( _component ${HDF5_LANGUAGE_BINDINGS} ) - list( FIND HDF5_VALID_COMPONENTS ${_component} _component_location ) - get_target_property( _comp_location ${HDF5_${_component}_TARGET} LOCATION ) - if( _comp_location ) - set( HDF5_${_component}_LIBRARY ${_comp_location} CACHE PATH - "HDF5 ${_component} library" ) - mark_as_advanced( HDF5_${_component}_LIBRARY ) - list( APPEND HDF5_LIBRARIES ${HDF5_${_component}_LIBRARY} ) - endif() + set(HDF5_IS_PARALLEL ${HDF5_ENABLE_PARALLEL} ) + set(HDF5_C_LIBRARIES hdf5) + set(HDF5_CXX_LIBRARIES hdf5_cpp) + set(HDF5_HL_LIBRARIES hdf5_hl) + set(HDF5_FORTRAN_LIBRARIES hdf5_fortran) + foreach( _component ${HDF5_LIBRARIES} ) + get_target_property( _configs ${_component} IMPORTED_CONFIGURATIONS ) + get_target_property( _type ${_component} TYPE ) + foreach( _config ${_configs} ) + if (${_type} MATCHES "LIBRARY") + if (${_type} MATCHES "SHARED") + get_target_property( _comp_location ${_component} IMPORTED_IMPLIB_${_config} ) + else() + get_target_property( _comp_location ${_component} LOCATION_${_config} ) + endif (${_type} MATCHES "SHARED") + endif (${_type} MATCHES "LIBRARY") + string(TOUPPER ${_component} _name) + # message("Generated name is ${_name}_LIBRARY_${_config} = ${_comp_location}") + if( _comp_location ) + set( ${_name}_LIBRARY_${_config} ${_comp_location} CACHE PATH + "${_name}_LIBRARY_${_config} library" ) + mark_as_advanced( HDF5_${_component}_LIBRARY ) + list( APPEND HDF5_LIBRARIES ${HDF5_${_component}_LIBRARY} ) + endif() + endforeach() + + message(" ") endforeach() endif() endif() -- 1.7.11.msysgit.1