--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -240,6 +240,8 @@ SET (OPENMEEG_LIBRARY_DIRECTORIES
 SET(OPENMEEG_USE_FILE ${CMAKE_INSTALL_PREFIX}/lib/UseOpenMEEG.cmake)
 
 # Configure OpenMEEGConfig.cmake for the install tree.
+SET(OPENMEEG_HEADER_INSTALLDIR include/openmeeg)
+
 CONFIGURE_FILE(
     ${OpenMEEG_SOURCE_DIR}/macros/OpenMEEGConfig.cmake.in
     ${OpenMEEG_BINARY_DIR}/macros/OpenMEEGConfig.cmake @ONLY IMMEDIATE)
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -34,6 +34,10 @@ INSTALL(TARGETS OpenMEEG om_assemble om_
         LIBRARY DESTINATION lib
         ARCHIVE DESTINATION lib)
 
+# install headers
+INSTALL(FILES ${OPENMEEG_HEADERS}
+        DESTINATION ${OPENMEEG_HEADER_INSTALLDIR} COMPONENT Development)
+
 # ===========
 # = TESTING =
 # ===========
--- a/libs/MatLib/MatLib/CMakeLists.txt
+++ b/libs/MatLib/MatLib/CMakeLists.txt
@@ -28,3 +28,8 @@ INSTALL(TARGETS OpenMEEGMaths
         RUNTIME DESTINATION bin
         ARCHIVE DESTINATION lib
         LIBRARY DESTINATION lib)
+
+# install headers
+FILE(GLOB MATLIB_HEADERS "${CMAKE_SOURCE_DIR}/*.{h,H}")
+INSTALL(FILES ${MATLIB_HEADERS}
+        DESTINATION ${OPENMEEG_HEADER_INSTALLDIR} COMPONENT Development)
