diff --git a/modules/find/FindAL4SAN.cmake b/modules/find/FindAL4SAN.cmake
index badefdd7a7485af8891f9546464b916c89d0a664..817e090f791cfb6ec74a8d0cad48160319103e24 100644
--- a/modules/find/FindAL4SAN.cmake
+++ b/modules/find/FindAL4SAN.cmake
@@ -88,6 +88,9 @@ if(PKG_CONFIG_EXECUTABLE)
   endif()
 
   if (AL4SAN_FOUND AND AL4SAN_LIBRARIES)
+    if (NOT AL4SAN_INCLUDE_DIRS)
+      pkg_get_variable(AL4SAN_INCLUDE_DIRS al4san includedir)
+    endif()
     set(AL4SAN_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(AL4SAN)
   else()
diff --git a/modules/find/FindCHAMELEON.cmake b/modules/find/FindCHAMELEON.cmake
index 6480f86125ced50b2087d7ce59538701e34d355f..1c1453fdabc63040da0c57609d443ca178c3aed4 100644
--- a/modules/find/FindCHAMELEON.cmake
+++ b/modules/find/FindCHAMELEON.cmake
@@ -178,6 +178,9 @@ if(PKG_CONFIG_EXECUTABLE AND NOT CHAMELEON_GIVEN_BY_USER)
   endif()
 
   if (CHAMELEON_FOUND AND CHAMELEON_LIBRARIES)
+    if (NOT CHAMELEON_INCLUDE_DIRS)
+      pkg_get_variable(CHAMELEON_INCLUDE_DIRS chameleon includedir)
+    endif()
     set(CHAMELEON_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(CHAMELEON)
   else()
diff --git a/modules/find/FindEZTRACE.cmake b/modules/find/FindEZTRACE.cmake
index 19fb409e3876f6c8ae398fbd2ad4852c0088dc82..8f68461cf2dd4bb8e437f4938cdf4a647175fad8 100644
--- a/modules/find/FindEZTRACE.cmake
+++ b/modules/find/FindEZTRACE.cmake
@@ -98,6 +98,9 @@ if( PKG_CONFIG_EXECUTABLE AND NOT EZTRACE_GIVEN_BY_USER )
         "\n   the PKG_CONFIG_PATH environment variable.${ColourReset}")
     endif()
     if (EZTRACE_FOUND AND EZTRACE_LIBRARIES)
+      if (NOT EZTRACE_INCLUDE_DIRS)
+        pkg_get_variable(EZTRACE_INCLUDE_DIRS eztrace includedir)
+      endif()
       set(EZTRACE_FOUND_WITH_PKGCONFIG "TRUE")
       find_pkgconfig_libraries_absolute_path(EZTRACE)
     else()
diff --git a/modules/find/FindFABULOUS.cmake b/modules/find/FindFABULOUS.cmake
index ef219f15456139af6b6d585698af302e74c6fdfb..cc8ce29d56ccb2288f60d957a8672c5d625a879a 100644
--- a/modules/find/FindFABULOUS.cmake
+++ b/modules/find/FindFABULOUS.cmake
@@ -123,6 +123,9 @@ if( PKG_CONFIG_EXECUTABLE AND NOT FABULOUS_GIVEN_BY_USER )
   endif()
 
   if (FABULOUS_FOUND AND FABULOUS_LIBRARIES)
+    if (NOT FABULOUS_INCLUDE_DIRS)
+      pkg_get_variable(FABULOUS_INCLUDE_DIRS fabulous_c_api includedir)
+    endif()
     set(FABULOUS_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(FABULOUS)
   else()
diff --git a/modules/find/FindFFTW.cmake b/modules/find/FindFFTW.cmake
index 7d4c8f146e1cb7bf85e02a741a693f5058fd5442..d7997da54ff1f05b61050319f7209d533689f820 100644
--- a/modules/find/FindFFTW.cmake
+++ b/modules/find/FindFFTW.cmake
@@ -253,6 +253,9 @@ if (NOT FFTW_LOOK_FOR_MKL AND NOT FFTW_LOOK_FOR_ESSL)
       pkg_search_module(FFTW3F fftw3f)
       pkg_search_module(FFTW3 fftw3)
       if (FFTW3F_FOUND)
+        if (NOT FFTW3F_INCLUDE_DIRS)
+          pkg_get_variable(FFTW3F_INCLUDE_DIRS fftw3f includedir)
+        endif()
         if (NOT FFTW_FIND_QUIETLY)
           message(STATUS "Looking for FFTW3F - found using PkgConfig")
         endif()
@@ -283,6 +286,9 @@ if (NOT FFTW_LOOK_FOR_MKL AND NOT FFTW_LOOK_FOR_ESSL)
       pkg_search_module(FFTW3L fftw3l)
       pkg_search_module(FFTW3 fftw3)
       if (FFTW3L_FOUND)
+        if (NOT FFTW3L_INCLUDE_DIRS)
+          pkg_get_variable(FFTW3L_INCLUDE_DIRS fftw3l includedir)
+        endif()
         if (NOT FFTW_FIND_QUIETLY)
           message(STATUS "Looking for FFTW3L - found using PkgConfig")
         endif()
@@ -313,6 +319,9 @@ if (NOT FFTW_LOOK_FOR_MKL AND NOT FFTW_LOOK_FOR_ESSL)
       pkg_search_module(FFTW3Q fftw3q)
       pkg_search_module(FFTW3 fftw3)
       if (FFTW3Q_FOUND)
+        if (NOT FFTW3Q_INCLUDE_DIRS)
+          pkg_get_variable(FFTW3Q_INCLUDE_DIRS fftw3q includedir)
+        endif()
         if (NOT FFTW_FIND_QUIETLY)
           message(STATUS "Looking for FFTW3Q - found using PkgConfig")
         endif()
@@ -349,6 +358,9 @@ if (NOT FFTW_LOOK_FOR_MKL AND NOT FFTW_LOOK_FOR_ESSL)
       if (NOT FFTW_FIND_QUIETLY)
         message(STATUS "Looking for FFTW3 - found using PkgConfig")
       endif()
+      if (NOT FFTW3_INCLUDE_DIRS)
+        pkg_get_variable(FFTW3_INCLUDE_DIRS fftw3 includedir)
+      endif()
       if (FFTW3_LIBRARIES)
         find_pkgconfig_libraries_absolute_path(FFTW3)
         list(APPEND FFTW_LIBRARIES "${FFTW3_LIBRARIES}")
diff --git a/modules/find/FindFXT.cmake b/modules/find/FindFXT.cmake
index 64c30da632597760a6d4779a7e381b7bb5c5f450..46847d8e005bf4e48c75c823253bd208345ac77f 100644
--- a/modules/find/FindFXT.cmake
+++ b/modules/find/FindFXT.cmake
@@ -96,6 +96,9 @@ if(PKG_CONFIG_EXECUTABLE AND NOT FXT_GIVEN_BY_USER)
   endif()
 
   if (FXT_FOUND AND FXT_LIBRARIES)
+    if (NOT FXT_INCLUDE_DIRS)
+      pkg_get_variable(FXT_INCLUDE_DIRS fxt includedir)
+    endif()
     set(FXT_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(FXT)
   else()
diff --git a/modules/find/FindGTG.cmake b/modules/find/FindGTG.cmake
index 23a1e7248c0b36c953352c107d173c65253a29b5..8d3a882ec53e8509460aef3b9cbf3fd5d00080dd 100644
--- a/modules/find/FindGTG.cmake
+++ b/modules/find/FindGTG.cmake
@@ -96,6 +96,9 @@ if(PKG_CONFIG_EXECUTABLE AND NOT GTG_GIVEN_BY_USER)
   endif()
 
   if (GTG_FOUND AND GTG_LIBRARIES)
+    if (NOT GTG_INCLUDE_DIRS)
+      pkg_get_variable(GTG_INCLUDE_DIRS gtg includedir)
+    endif()
     set(GTG_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(GTG)
   else()
diff --git a/modules/find/FindHQR.cmake b/modules/find/FindHQR.cmake
index f066ce54f4718d9ac1df5c168132159bad3df3c9..a26dd4bc1266685e998d22e4118e31521336f943 100644
--- a/modules/find/FindHQR.cmake
+++ b/modules/find/FindHQR.cmake
@@ -95,6 +95,9 @@ if(PKG_CONFIG_EXECUTABLE AND NOT HQR_GIVEN_BY_USER)
     endif()
   endif()
   if (HQR_FOUND AND HQR_LIBRARIES)
+    if (NOT HQR_INCLUDE_DIRS)
+      pkg_get_variable(HQR_INCLUDE_DIRS hqr includedir)
+    endif()
     set(HQR_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(HQR)
   else()
diff --git a/modules/find/FindHWLOC.cmake b/modules/find/FindHWLOC.cmake
index c3e8127cb565e64a358db45eac6552c690c80c74..d3d5c3591a4a7df840455228db294c49d13dc395 100644
--- a/modules/find/FindHWLOC.cmake
+++ b/modules/find/FindHWLOC.cmake
@@ -99,6 +99,9 @@ if( PKG_CONFIG_EXECUTABLE AND NOT HWLOC_GIVEN_BY_USER )
   endif()
 
   if (HWLOC_FOUND AND HWLOC_LIBRARIES)
+    if (NOT HWLOC_INCLUDE_DIRS)
+      pkg_get_variable(HWLOC_INCLUDE_DIRS hwloc includedir)
+    endif()
     set(HWLOC_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(HWLOC)
   else()
diff --git a/modules/find/FindPAPI.cmake b/modules/find/FindPAPI.cmake
index dc2f7ae278d2aa8495796c9a1223092f1a0c388a..7c1a048e3848545b9935ea76b94adffa29e3df43 100644
--- a/modules/find/FindPAPI.cmake
+++ b/modules/find/FindPAPI.cmake
@@ -96,6 +96,9 @@ if(PKG_CONFIG_EXECUTABLE AND NOT PAPI_GIVEN_BY_USER)
   endif()
 
   if (PAPI_FOUND AND PAPI_LIBRARIES)
+    if (NOT PAPI_INCLUDE_DIRS)
+      pkg_get_variable(PAPI_INCLUDE_DIRS papi includedir)
+    endif()
     set(PAPI_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(PAPI)
   else()
diff --git a/modules/find/FindPARSEC.cmake b/modules/find/FindPARSEC.cmake
index fd36ed1fdb77dec02526999541a4e891c668e581..c7e8cae4e072dfb3e9bed7d0f7239a2bad122c4f 100644
--- a/modules/find/FindPARSEC.cmake
+++ b/modules/find/FindPARSEC.cmake
@@ -271,6 +271,9 @@ if(PKG_CONFIG_EXECUTABLE AND NOT PARSEC_GIVEN_BY_USER)
   endif()
 
   if (PARSEC_FOUND AND PARSEC_LIBRARIES)
+    if (NOT PARSEC_INCLUDE_DIRS)
+      pkg_get_variable(PARSEC_INCLUDE_DIRS parsec includedir)
+    endif()
     set(PARSEC_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(PARSEC)
   else()
diff --git a/modules/find/FindPASTIX.cmake b/modules/find/FindPASTIX.cmake
index 0fdd44aa5da263f5f6649a55c6dc410589c2ff6f..bd1eed84d934cdf46227337a6cd00651315f430f 100644
--- a/modules/find/FindPASTIX.cmake
+++ b/modules/find/FindPASTIX.cmake
@@ -410,6 +410,9 @@ if(PKG_CONFIG_EXECUTABLE AND NOT PASTIX_GIVEN_BY_USER)
   endif()
 
   if (PASTIX_FOUND AND PASTIX_LIBRARIES)
+    if (NOT PASTIX_INCLUDE_DIRS)
+      pkg_get_variable(PASTIX_INCLUDE_DIRS pastix includedir)
+    endif()
     set(PASTIX_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(PASTIX)
   else()
diff --git a/modules/find/FindPETSC.cmake b/modules/find/FindPETSC.cmake
index f0acd9566a9fcb448c1002547377d419201e4cf9..fdd025f639ff6ec165825f7b7d9c20906dca5295 100644
--- a/modules/find/FindPETSC.cmake
+++ b/modules/find/FindPETSC.cmake
@@ -80,6 +80,9 @@ if( PKG_CONFIG_EXECUTABLE AND NOT PETSC_DIR )
   endif()
   set(PETSC_DIR "${PETSC_PREFIX}")
   if (PETSC_FOUND AND PETSC_LIBRARIES)
+    if (NOT PETSC_INCLUDE_DIRS)
+      pkg_get_variable(PETSC_INCLUDE_DIRS PETSc includedir)
+    endif()
     set(PETSC_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(PETSC)
   else()
diff --git a/modules/find/FindSIMGRID.cmake b/modules/find/FindSIMGRID.cmake
index fd2fc0402012cc91b3eaa0d4a75c26e0be6e974a..7caa6e590ac7cae3942ef9f48bff00a0a0ef6829 100644
--- a/modules/find/FindSIMGRID.cmake
+++ b/modules/find/FindSIMGRID.cmake
@@ -96,6 +96,9 @@ if(PKG_CONFIG_EXECUTABLE AND NOT SIMGRID_GIVEN_BY_USER)
   endif()
 
   if (SIMGRID_FOUND AND SIMGRID_LIBRARIES)
+    if (NOT SIMGRID_INCLUDE_DIRS)
+      pkg_get_variable(SIMGRID_INCLUDE_DIRS simgrid includedir)
+    endif()
     set(SIMGRID_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(SIMGRID)
   else()
diff --git a/modules/find/FindSLEPC.cmake b/modules/find/FindSLEPC.cmake
index 43a8850996775cba6d5e2a1579aa566297abed0d..1c7112bf6113b2289f55a395a8d6ee0ec4bfe1bb 100644
--- a/modules/find/FindSLEPC.cmake
+++ b/modules/find/FindSLEPC.cmake
@@ -79,6 +79,9 @@ if( PKG_CONFIG_EXECUTABLE AND NOT SLEPC_DIR )
   endif()
   set(SLEPC_DIR "${SLEPC_PREFIX}")
   if (SLEPC_FOUND AND SLEPC_LIBRARIES)
+    if (NOT SLEPC_INCLUDE_DIRS)
+      pkg_get_variable(SLEPC_INCLUDE_DIRS SLEPc includedir)
+    endif()
     set(SLEPC_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(SLEPC)
   else()
diff --git a/modules/find/FindSPM.cmake b/modules/find/FindSPM.cmake
index 321835cd3cfb71551c4fedca7d74832898810b93..c80dff865dae320801f9604054d6952e8e8f5a89 100644
--- a/modules/find/FindSPM.cmake
+++ b/modules/find/FindSPM.cmake
@@ -144,6 +144,9 @@ if(PKG_CONFIG_EXECUTABLE AND NOT SPM_GIVEN_BY_USER)
   endif()
 
   if (SPM_FOUND AND SPM_LIBRARIES)
+    if (NOT SPM_INCLUDE_DIRS)
+      pkg_get_variable(SPM_INCLUDE_DIRS spm includedir)
+    endif()
     set(SPM_FOUND_WITH_PKGCONFIG "TRUE")
     find_pkgconfig_libraries_absolute_path(SPM)
   else()
diff --git a/modules/find/FindSTARPU.cmake b/modules/find/FindSTARPU.cmake
index 11c7a8e10f8d886a64e957540e848e7673573d2c..8002d8f374c08ecd813843e3047aadef756dd79c 100644
--- a/modules/find/FindSTARPU.cmake
+++ b/modules/find/FindSTARPU.cmake
@@ -250,6 +250,13 @@ if(PKG_CONFIG_EXECUTABLE AND NOT STARPU_GIVEN_BY_USER)
   endforeach()
   if (NOT STARPU_FIND_QUIETLY)
     if (STARPU_FOUND AND STARPU_LIBRARIES)
+      if (NOT STARPU_INCLUDE_DIRS)
+        if(STARPU_LOOK_FOR_MPI)
+          pkg_get_variable(STARPU_INCLUDE_DIRS starpumpi-${_version} includedir)
+        else()
+          pkg_get_variable(STARPU_INCLUDE_DIRS starpu-${_version} includedir)
+        endif()
+      endif()
       message(STATUS "Looking for STARPU - found using PkgConfig")
       set(STARPU_VERSION_STRING "${STARPU_VERSION}")
       string(REPLACE "." ";" STARPU_VERSION_STRING_LIST ${STARPU_VERSION_STRING})