@@ -118,6 +118,7 @@ NAMES H5pubconf.h H5pubconf-64.h
118118HINTS ${HDF5_C_INCLUDE_DIR}
119119NO_DEFAULT_PATH
120120)
121+ message (VERBOSE "HDF5 config: ${h5_conf} " )
121122
122123if (NOT h5_conf)
123124 set (HDF5_C_FOUND false )
@@ -145,23 +146,19 @@ endif()
145146# get version
146147# from CMake/Modules/FindHDF5.cmake
147148file (STRINGS ${h5_conf} _def
148- REGEX "^[ \t ]*#[ \t ]*define[ \t ]+H5_VERSION[ \t ]+" )
149- if ( " ${_def} " MATCHES
150- "H5_VERSION[ \t ]+ \" ([0-9]+ \\ .[0-9]+ \\ .[0-9]+)(-patch([0-9]+))? \" " )
151- set (HDF5_VERSION " ${CMAKE_MATCH_1} " )
152- if (CMAKE_MATCH_3 )
153- set (HDF5_VERSION ${HDF5_VERSION} . ${CMAKE_MATCH_3} )
149+ REGEX "^[ \t ]*#[ \t ]*define[ \t ]+H5_VERSION[ \t ]+"
150+ )
151+ message (DEBUG "HDF5 version define: ${_def} " )
152+
153+ if ( " ${_def} " MATCHES "H5_VERSION[ \t ]+ \" ([0-9]+ \\ .[0-9]+ \\ .[0-9]+)" )
154+ set (HDF5_VERSION " ${CMAKE_MATCH_1} " )
154155 endif ()
155- endif ( )
156+ message (DEBUG "HDF5 version match 0, 1: ${CMAKE_MATCH_0} ${CMAKE_MATCH_1} " )
156157
157158# avoid picking up incompatible zlib over the desired zlib
158- if (CMAKE_VERSION VERSION_LESS 3.20)
159- get_filename_component (zlib_dir ${HDF5_C_INCLUDE_DIR} DIRECTORY )
160- else ()
161- cmake_path(GET HDF5_C_INCLUDE_DIR PARENT_PATH zlib_dir)
162- endif ()
163159if (NOT ZLIB_ROOT)
164- set (ZLIB_ROOT "${HDF5_ROOT} ;${zlib_dir} " )
160+ get_filename_component (ZLIB_ROOT ${HDF5_C_INCLUDE_DIR} DIRECTORY )
161+ list (APPEND ZLIB_ROOT ${HDF5_ROOT} )
165162endif ()
166163
167164
@@ -504,13 +501,15 @@ if(HDF5_ROOT)
504501 NO_DEFAULT_PATH
505502 HINTS ${HDF5_ROOT}
506503 PATH_SUFFIXES ${hdf5_binsuf}
504+ DOC "HDF5 Fortran compiler script"
507505 )
508506else ()
509507 find_program (HDF5_Fortran_COMPILER_EXECUTABLE
510508 NAMES ${wrapper_names}
511509 NAMES_PER_DIR
512510 PATHS ${hdf5_binpref}
513511 PATH_SUFFIXES ${hdf5_binsuf}
512+ DOC "HDF5 Fortran compiler script"
514513 )
515514endif ()
516515
@@ -559,13 +558,15 @@ if(HDF5_ROOT)
559558 NO_DEFAULT_PATH
560559 HINTS ${HDF5_ROOT}
561560 PATH_SUFFIXES ${hdf5_binsuf}
561+ DOC "HDF5 C++ compiler script"
562562 )
563563else ()
564564 find_program (HDF5_CXX_COMPILER_EXECUTABLE
565565 NAMES ${wrapper_names}
566566 NAMES_PER_DIR
567567 PATHS ${hdf5_binpref}
568568 PATH_SUFFIXES ${hdf5_binsuf}
569+ DOC "HDF5 C++ compiler script"
569570 )
570571endif ()
571572
@@ -608,13 +609,15 @@ if(HDF5_ROOT)
608609 NO_DEFAULT_PATH
609610 HINTS ${HDF5_ROOT}
610611 PATH_SUFFIXES ${hdf5_binsuf}
612+ DOC "HDF5 C compiler script"
611613 )
612614else ()
613615 find_program (HDF5_C_COMPILER_EXECUTABLE
614616 NAMES ${wrapper_names}
615617 NAMES_PER_DIR
616618 PATHS ${hdf5_binpref}
617619 PATH_SUFFIXES ${hdf5_binsuf}
620+ DOC "HDF5 C compiler script"
618621 )
619622endif ()
620623
@@ -782,15 +785,6 @@ if(NOT HDF5_ROOT)
782785 endif ()
783786endif ()
784787
785- # Conda causes numerous problems with finding HDF5, so exclude from search
786- if (DEFINED ENV{CONDA_PREFIX})
787- set (h5_ignore_path
788- $ENV{CONDA_PREFIX} /bin $ENV{CONDA_PREFIX} /lib $ENV{CONDA_PREFIX} /include
789- $ENV{CONDA_PREFIX} /Library/bin $ENV{CONDA_PREFIX} /Library/lib $ENV{CONDA_PREFIX} /Library/include
790- )
791- list (APPEND CMAKE_IGNORE_PATH ${h5_ignore_path} )
792- endif ()
793-
794788# --- library suffixes
795789
796790set (hdf5_lsuf lib hdf5/lib) # need explicit "lib" for self-built HDF5
@@ -877,11 +871,6 @@ check_hdf5_link()
877871set (CMAKE_REQUIRED_LIBRARIES)
878872set (CMAKE_REQUIRED_INCLUDES)
879873
880- # pop off ignored paths so rest of script can find Python
881- if (DEFINED CMAKE_IGNORE_PATH )
882- list (REMOVE_ITEM CMAKE_IGNORE_PATH "${h5_ignore_path} " )
883- endif ()
884-
885874include (FindPackageHandleStandardArgs)
886875find_package_handle_standard_args(HDF5
887876REQUIRED_VARS HDF5_C_LIBRARIES HDF5_links
0 commit comments