@@ -132,6 +132,8 @@ The following variable can be set to guide the search for HDF5 libraries and inc
132132include (SelectLibraryConfigurations)
133133include (FindPackageHandleStandardArgs)
134134
135+ cmake_policy (SET CMP0074 NEW)
136+
135137# List of the valid HDF5 components
136138set (HDF5_VALID_LANGUAGE_BINDINGS C CXX Fortran)
137139
@@ -463,15 +465,16 @@ if(NOT HDF5_ROOT)
463465 set (HDF5_ROOT $ENV{HDF5_ROOT} )
464466endif ()
465467if (HDF5_ROOT)
466- set (_HDF5_SEARCH_OPTS NO_DEFAULT_PATH)
468+ set (_HDF5_SEARCH_OPTS NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH
469+ NO_CMAKE_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
470+ NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH)
467471else ()
468472 set (_HDF5_SEARCH_OPTS)
469473endif ()
470474
471475# Try to find HDF5 using an installed hdf5-config.cmake
472476if (NOT HDF5_FOUND AND NOT HDF5_NO_FIND_PACKAGE_CONFIG_FILE)
473477 find_package (HDF5 QUIET NO_MODULE
474- HINTS ${HDF5_ROOT}
475478 ${_HDF5_SEARCH_OPTS}
476479 )
477480 if ( HDF5_FOUND)
@@ -552,7 +555,7 @@ if(NOT HDF5_FOUND AND NOT HDF5_NO_FIND_PACKAGE_CONFIG_FILE)
552555 endif ()
553556endif ()
554557
555- if (NOT HDF5_FOUND)
558+ if (NOT HDF5_FOUND AND HDF5_SEARCH_WRAPPER )
556559 set (_HDF5_NEED_TO_SEARCH False )
557560 set (HDF5_COMPILER_NO_INTERROGATE True )
558561 # Only search for languages we've enabled
@@ -596,7 +599,6 @@ if(NOT HDF5_FOUND)
596599 # search options with the wrapper
597600 find_program (HDF5_${__lang} _COMPILER_EXECUTABLE
598601 NAMES ${HDF5_${__lang} _COMPILER_NAMES} NAMES_PER_DIR
599- HINTS ${HDF5_ROOT}
600602 PATH_SUFFIXES bin Bin
601603 DOC "HDF5 ${__lang} Wrapper compiler. Used only to detect HDF5 compile flags."
602604 ${_HDF5_SEARCH_OPTS}
@@ -637,7 +639,6 @@ if(NOT HDF5_FOUND)
637639 find_library (HDF5_${__lang} _LIBRARY_${L}
638640 NAMES ${_HDF5_SEARCH_NAMES_LOCAL} ${L} NAMES_PER_DIR
639641 HINTS ${HDF5_${__lang} _LIBRARY_DIRS}
640- ${HDF5_ROOT}
641642 ${_HDF5_SEARCH_OPTS_LOCAL}
642643 )
643644 unset (_HDF5_SEARCH_OPTS_LOCAL)
@@ -669,7 +670,6 @@ if(NOT HDF5_FOUND)
669670 find_library (HDF5_${__lang} _LIBRARY_${L}
670671 NAMES ${_HDF5_SEARCH_NAMES_LOCAL} ${L} NAMES_PER_DIR
671672 HINTS ${HDF5_${__lang} _LIBRARY_DIRS}
672- ${HDF5_ROOT}
673673 ${_HDF5_SEARCH_OPTS_LOCAL}
674674 )
675675 unset (_HDF5_SEARCH_OPTS_LOCAL)
@@ -752,7 +752,6 @@ endif()
752752
753753find_program ( HDF5_DIFF_EXECUTABLE
754754 NAMES h5diff
755- HINTS ${HDF5_ROOT}
756755 PATH_SUFFIXES bin Bin
757756 ${_HDF5_SEARCH_OPTS}
758757 DOC "HDF5 file differencing tool." )
@@ -786,7 +785,6 @@ if( NOT HDF5_FOUND )
786785 endif ()
787786
788787 find_path (HDF5_${__lang} _INCLUDE_DIR ${HDF5_INCLUDE_FILENAME}
789- HINTS ${HDF5_ROOT}
790788 PATHS $ENV{HOME} /.local/include
791789 PATH_SUFFIXES include Include ${_path_suffixes}
792790 ${_HDF5_SEARCH_OPTS}
@@ -817,19 +815,19 @@ if( NOT HDF5_FOUND )
817815 endif ()
818816 find_library (HDF5_${LIB} _LIBRARY_DEBUG
819817 NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
820- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
818+ PATH_SUFFIXES lib Lib
821819 ${_HDF5_SEARCH_OPTS}
822820 )
823821 find_library ( HDF5_${LIB} _LIBRARY_RELEASE
824822 NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
825- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
823+ PATH_SUFFIXES lib Lib
826824 ${_HDF5_SEARCH_OPTS}
827825 )
828826 # patch for HDF5 1.10.6 name change
829827 if (NOT HDF5_${LIB} _LIBRARY_RELEASE AND (LIB STREQUAL hdf5_hl_fortran))
830828 find_library ( HDF5_${LIB} _LIBRARY_RELEASE
831829 NAMES hdf5hl_fortran hdf5hl_fortran-shared
832- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
830+ PATH_SUFFIXES lib Lib
833831 ${_HDF5_SEARCH_OPTS}
834832 )
835833 endif ()
@@ -863,12 +861,12 @@ if( NOT HDF5_FOUND )
863861 endif ()
864862 find_library (HDF5_${LIB} _LIBRARY_DEBUG
865863 NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
866- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
864+ PATH_SUFFIXES lib Lib
867865 ${_HDF5_SEARCH_OPTS}
868866 )
869867 find_library ( HDF5_${LIB} _LIBRARY_RELEASE
870868 NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
871- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
869+ PATH_SUFFIXES lib Lib
872870 ${_HDF5_SEARCH_OPTS}
873871 )
874872 select_library_configurations( HDF5_${LIB} )
@@ -970,4 +968,4 @@ if (HDF5_FIND_DEBUG)
970968 message (STATUS "HDF5_${__lang} _HL_LIBRARY: ${HDF5_${__lang} _HL_LIBRARY}" )
971969 message (STATUS "HDF5_${__lang} _HL_LIBRARIES: ${HDF5_${__lang} _HL_LIBRARIES}" )
972970 endforeach ()
973- endif ()
971+ endif ()
0 commit comments