-if [ "${HDF5HOME}" != "" ]; then
-CMAKE_OPTIONS=$CMAKE_OPTIONS" -DENABLE_HDF5:BOOL=ON"
-CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_INCLUDE_PATH:PATH=${HDF5HOME}/include"
-CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_LIBRARY:FILEPATH=${HDF5HOME}/lib/libhdf5.so"
+if [ "${HDF5_ROOT_DIR}" != "" ]; then
+ CMAKE_OPTIONS=${CMAKE_OPTIONS}" -DENABLE_HDF5:BOOL=ON"
+ CMAKE_OPTIONS=${CMAKE_OPTIONS}" -DHDF5_INCLUDE_PATH:PATH=${HDF5_ROOT_DIR}/include"
+ CMAKE_OPTIONS=${CMAKE_OPTIONS}" -DHDF5_LIBRARY:FILEPATH=${HDF5_ROOT_DIR}/lib/libhdf5.so"
+
+ hdf_inc_file=${HDF5_ROOT_DIR}/include/H5pubconf.h
+ hdf_cfg_file=${HDF5_ROOT_DIR}/lib/libhdf5.settings
+ if [ ! -f ${hdf_cfg_file} ] ; then cfg_file=${HDF5_ROOT_DIR}/share/cmake/hdf5/libhdf5.settings ; fi
+ if [ -f ${hdf_inc_file} ] ; then
+ grep "#define.*H5_HAVE_ZLIB_H" ${hdf_inc_file} >& /dev/null
+ if [ "$?" = "0" ] ; then CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_NEED_ZLIB=ON" ; fi
+ grep "#define.*H5_HAVE_SZLIB_H" ${hdf_inc_file} >& /dev/null
+ if [ "$?" = "0" ] ; then CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_NEED_SZIP=ON" ; fi
+ fi
+ if [ -e ${hdf_cfg_file} ] ; then
+ grep -E "Parallel HDF5.*(ON|yes)" ${hdf_cfg_file} >& /dev/null
+ if [ "$?" = "0" ] ; then CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_NEEDS_MPI=ON" ; fi
+ fi