ソースを参照

FindHDF5: support the hdf5hl_fortran-based variable names

Fixes: #21537
Ben Boeckel 5 年 前
コミット
175beadd4c
1 ファイル変更4 行追加0 行削除
  1. 4 0
      Modules/FindHDF5.cmake

+ 4 - 0
Modules/FindHDF5.cmake

@@ -1057,12 +1057,14 @@ if (HDF5_FOUND)
       continue ()
     endif ()
 
+    set(hdf5_alt_target_name "")
     if (hdf5_lang STREQUAL "C")
       set(hdf5_target_name "hdf5_hl")
     elseif (hdf5_lang STREQUAL "CXX")
       set(hdf5_target_name "hdf5_hl_cpp")
     elseif (hdf5_lang STREQUAL "Fortran")
       set(hdf5_target_name "hdf5_hl_fortran")
+      set(hdf5_alt_target_name "hdf5hl_fortran")
     else ()
       continue ()
     endif ()
@@ -1081,6 +1083,8 @@ if (HDF5_FOUND)
           set(_hdf5_location "${HDF5_${hdf5_lang}_HL_LIBRARY}")
         elseif (DEFINED "HDF5_${hdf5_lang}_LIBRARY_${hdf5_target_name}")
           set(_hdf5_location "${HDF5_${hdf5_lang}_LIBRARY_${hdf5_target_name}}")
+        elseif (hdf5_alt_target_name AND DEFINED "HDF5_${hdf5_lang}_LIBRARY_${hdf5_alt_target_name}")
+          set(_hdf5_location "${HDF5_${hdf5_lang}_LIBRARY_${hdf5_alt_target_name}}")
         else ()
           # Error if we still don't have the location.
           message(SEND_ERROR