diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8ebd0c6bce077b2154a60b00a424f967fd1b7f3c..e73e7582b6d3aa1e3d5d8100003a515f11070f3b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -841,8 +841,10 @@ if(ENABLE_FOURIER_MODEL)
 endif(ENABLE_FOURIER_MODEL)
 
 if(ENABLE_MED OR ENABLE_CGNS)
-  find_library(HDF5_LIB hdf5)
-  if(HDF5_LIB)
+  find_package(HDF5)
+  if(HDF5_FOUND)
+    set(HDF5_LIB "${HDF5_C_LIBRARIES}")
+    list(APPEND EXTERNAL_INCLUDES ${HDF5_INCLUDE_DIRS})
     if(ENABLE_MED)
       find_library(MED_LIB med)
       if(MED_LIB)
@@ -873,9 +875,9 @@ if(ENABLE_MED OR ENABLE_CGNS)
         endif(ZLIB_FOUND)
       endif(NOT HAVE_LIBZ)
     endif(MED_LIB OR CGNS_LIB)
-  else(HDF5_LIB)
+  else(HDF5_FOUND)
     message(STATUS "HDF5 not found")
-  endif(HDF5_LIB)
+  endif(HDF5_FOUND)
 endif(ENABLE_MED OR ENABLE_CGNS)
 
 if(HAVE_SOLVER)