diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
index 8e70c46358..e985789863 100644
--- a/library/CMakeLists.txt
+++ b/library/CMakeLists.txt
@@ -10,6 +10,14 @@ if(NOT DEFINED MBEDTLS_DIR)
set(MBEDTLS_DIR ${CMAKE_SOURCE_DIR})
endif()
+# If set, make MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE into PATHs
+if(DEFINED MBEDTLS_CONFIG_FILE)
+ set(MBEDTLS_CONFIG_FILE "" CACHE PATH "Mbed TLS config file (overrides default).")
+endif()
+if(DEFINED MBEDTLS_USER_CONFIG_FILE)
+ set(MBEDTLS_USER_CONFIG_FILE "" CACHE PATH "Mbed TLS user config file (appended to default).")
+endif()
+
set(src_crypto
aes.c
aesni.c
@@ -320,6 +328,15 @@ foreach(target IN LISTS target_libraries)
PUBLIC $
$
PRIVATE ${MBEDTLS_DIR}/library/)
+ # Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE
+ if(DEFINED MBEDTLS_CONFIG_FILE)
+ target_compile_definitions(${target}
+ PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}")
+ endif()
+ if(DEFINED MBEDTLS_USER_CONFIG_FILE)
+ target_compile_definitions(${target}
+ PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}")
+ endif()
install(
TARGETS ${target}
EXPORT MbedTLSTargets