Am 11.05.2015 10:29, schrieb Huebl, Axel:
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

@@ -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

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?

Then I would change the regex to:

"H5_VERSION[ \t]+\"([0-9]+\\.[0-9]+\\.[0-9]+[^"]*)"

This would include whatever comes next into the visible string, but CMake should be able to deal with that just fine (please check, as you seem to have the versions available).

Eike
--
--

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

Reply via email to