FindHDF5: add compiler-specific module search paths

This commit is contained in:
Ben Boeckel
2021-04-04 08:09:48 -04:00
parent 78287ec0af
commit cd48433e96
+17 -2
View File
@@ -865,8 +865,21 @@ if( NOT HDF5_FOUND )
list(APPEND HDF5_LIBRARIES ${HDF5_${_lang}_LIBRARIES}) list(APPEND HDF5_LIBRARIES ${HDF5_${_lang}_LIBRARIES})
# find the HDF5 include directories # find the HDF5 include directories
set(_hdf5_inc_extra_paths)
set(_hdf5_inc_extra_suffixes)
if("${_lang}" STREQUAL "Fortran") if("${_lang}" STREQUAL "Fortran")
set(HDF5_INCLUDE_FILENAME hdf5.mod HDF5.mod) set(HDF5_INCLUDE_FILENAME hdf5.mod HDF5.mod)
# Add library-based search paths for Fortran modules.
if (NOT _hdf5_main_library STREQUAL "")
# gfortran module directory
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
get_filename_component(_hdf5_library_dir "${_hdf5_main_library}" DIRECTORY)
list(APPEND _hdf5_inc_extra_paths "${_hdf5_library_dir}")
unset(_hdf5_library_dir)
list(APPEND _hdf5_inc_extra_suffixes gfortran/modules)
endif ()
endif ()
elseif("${_lang}" STREQUAL "CXX") elseif("${_lang}" STREQUAL "CXX")
set(HDF5_INCLUDE_FILENAME H5Cpp.h) set(HDF5_INCLUDE_FILENAME H5Cpp.h)
else() else()
@@ -877,11 +890,13 @@ if( NOT HDF5_FOUND )
find_path(HDF5_${_lang}_INCLUDE_DIR ${HDF5_INCLUDE_FILENAME} find_path(HDF5_${_lang}_INCLUDE_DIR ${HDF5_INCLUDE_FILENAME}
HINTS ${HDF5_ROOT} HINTS ${HDF5_ROOT}
PATHS $ENV{HOME}/.local/include PATHS $ENV{HOME}/.local/include ${_hdf5_inc_extra_paths}
PATH_SUFFIXES include Include ${_inc_suffixes} ${_lib_suffixes} PATH_SUFFIXES include Include ${_inc_suffixes} ${_lib_suffixes} ${_hdf5_inc_extra_suffixes}
${_HDF5_SEARCH_OPTS} ${_HDF5_SEARCH_OPTS}
) )
mark_as_advanced(HDF5_${_lang}_INCLUDE_DIR) mark_as_advanced(HDF5_${_lang}_INCLUDE_DIR)
unset(_hdf5_inc_extra_paths)
unset(_hdf5_inc_extra_suffixes)
# set the _DIRS variable as this is what the user will normally use # set the _DIRS variable as this is what the user will normally use
set(HDF5_${_lang}_INCLUDE_DIRS ${HDF5_${_lang}_INCLUDE_DIR}) set(HDF5_${_lang}_INCLUDE_DIRS ${HDF5_${_lang}_INCLUDE_DIR})
list(APPEND HDF5_INCLUDE_DIRS ${HDF5_${_lang}_INCLUDE_DIR}) list(APPEND HDF5_INCLUDE_DIRS ${HDF5_${_lang}_INCLUDE_DIR})