On 08.05.2015 19:07, Huebl, Axel wrote: > This commit adds VERSION support for HDF5 from > the same sources as it adds the HDF5_IS_PARALLEL > flag. > > Previously posted on > https://github.com/Kitware/CMake/pull/153 > > and improved with feedback from > > - Brad King > - Rolf Eike Beer > --- > Modules/FindHDF5.cmake | 19 ++++++++++++++++--- > 1 file changed, 16 insertions(+), 3 deletions(-) > > diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake > index 0d58e13..5f41b0f 100644 > --- a/Modules/FindHDF5.cmake > +++ b/Modules/FindHDF5.cmake > @@ -51,6 +51,7 @@ > # bindings. > # HDF5_LIBRARIES - Required libraries for all requested bindings > # HDF5_FOUND - true if HDF5 was found on the system > +# HDF5_VERSION - HDF5 version in format Major.Minor.Release > # HDF5_LIBRARY_DIRS - the full set of library directories > # HDF5_IS_PARALLEL - Whether or not HDF5 was found with parallel IO > support > # HDF5_C_COMPILER_EXECUTABLE - the path to the HDF5 C wrapper compiler > @@ -60,6 +61,7 @@ > > > #============================================================================= > # Copyright 2009 Kitware, Inc. > +# 2015 Axel Huebl, Helmholtz-Zentrum Dresden - Rossendorf > # > # Distributed under the OSI-approved BSD License (the "License"); > # see accompanying file Copyright.txt for details. > @@ -335,6 +337,7 @@ if( NOT HDF5_FOUND ) > # If the HDF5 include directory was found, open H5pubconf.h to > determine if > # HDF5 was compiled with parallel IO support > set( HDF5_IS_PARALLEL FALSE ) > + set( HDF5_VERSION "" ) > foreach( _dir IN LISTS HDF5_INCLUDE_DIRS ) > if( EXISTS "${_dir}/H5pubconf.h" ) > file( STRINGS "${_dir}/H5pubconf.h" > @@ -343,6 +346,16 @@ if( NOT HDF5_FOUND ) > if( HDF5_HAVE_PARALLEL_DEFINE ) > set( HDF5_IS_PARALLEL TRUE ) > endif() > + unset(HDF5_HAVE_PARALLEL_DEFINE) > + > + file( STRINGS "${_dir}/H5pubconf.h" > + HDF5_VERSION_DEFINE > + REGEX "^[ \t]*#[ \t]*define[ \t]+H5_VERSION[ \t]+" ) > + if( "${HDF5_VERSION_DEFINE}" MATCHES > + "H5_VERSION[ \t]+\"([0-9]+\\.[0-9]+\\.[0-9]+)\"" ) > + set( HDF5_VERSION "${CMAKE_MATCH_1}" ) > + endif() > + unset(HDF5_VERSION_DEFINE) > endif() > endforeach() > set( HDF5_IS_PARALLEL ${HDF5_IS_PARALLEL} CACHE BOOL > @@ -357,8 +370,8 @@ if( NOT HDF5_FOUND ) > > endif() > > -find_package_handle_standard_args( HDF5 DEFAULT_MSG > - HDF5_LIBRARIES > - HDF5_INCLUDE_DIRS > +find_package_handle_standard_args( HDF5 > + REQUIRED_VARS HDF5_LIBRARIES HDF5_INCLUDE_DIRS > + VERSION_VAR HDF5_VERSION > ) >
I double checked some of the previous releases and pre-releases usually take the format with appended "-something", e.g. 1.8.10-patch1 One could skip the "subrelease" but still avoid breaking the configure by looking for a H5_VERSION of format #define "X.Y.Z (neglecting the last "). > - if( "${HDF5_VERSION_DEFINE}" MATCHES > - "H5_VERSION[ \t]+\"([0-9]+\\.[0-9]+\\.[0-9]+)\"" ) > + if( "${HDF5_VERSION_DEFINE}" MATCHES > + "H5_VERSION[ \t]+\"([0-9]+\\.[0-9]+\\.[0-9]+)" ) Any comments on that? An other question: above the submitted patch is a "hdf5-config.cmake" section. Does it need a specific update? (It's not touched for HDF5_IS_PARALLEL either). Axel -- Axel Huebl Phone +49 351 260 3582 https://www.hzdr.de/crp Computational Radiation Physics Laser Particle Acceleration Division Helmholtz-Zentrum Dresden - Rossendorf e.V. Bautzner Landstrasse 400, 01328 Dresden POB 510119, D-01314 Dresden Vorstand: Prof. Dr.Dr.h.c. R. Sauerbrey Prof. Dr.Dr.h.c. P. Joehnk VR 1693 beim Amtsgericht Dresden
smime.p7s
Description: S/MIME Cryptographic Signature
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers