diff --git a/ChangeLog.d/gnuinstalldirs_include.txt b/ChangeLog.d/gnuinstalldirs_include.txt
new file mode 100644
index 0000000000..7e0782d1e1
--- /dev/null
+++ b/ChangeLog.d/gnuinstalldirs_include.txt
@@ -0,0 +1,3 @@
+Bugfix
+ * CMake now installs headers to `CMAKE_INSTALL_INCLUDEDIR` instead of the
+ hard-coded `include` directory.
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
index 9ea17af8b8..f76977fbab 100644
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -5,13 +5,13 @@ if(INSTALL_MBEDTLS_HEADERS)
file(GLOB headers "mbedtls/*.h")
install(FILES ${headers}
- DESTINATION include/mbedtls
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mbedtls
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
file(GLOB private_headers "mbedtls/private/*.h")
install(FILES ${private_headers}
- DESTINATION include/mbedtls/private
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mbedtls/private
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
endif(INSTALL_MBEDTLS_HEADERS)
diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
index 6d8c78807a..5474e2cacf 100644
--- a/library/CMakeLists.txt
+++ b/library/CMakeLists.txt
@@ -241,7 +241,7 @@ foreach(target IN LISTS target_libraries)
PUBLIC $
$
$
- $
+ $
PRIVATE ${MBEDTLS_DIR}/library/
${MBEDTLS_DIR}/tf-psa-crypto/core
${MBEDTLS_DIR}/tf-psa-crypto/drivers/builtin/src