mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
1d4061d3f2
mbedtls is only required in NVS if NVS encryption is enabled. Hence the mbedtls dependency is now only added if encryption is enabled, otherwise it is not added. BREAKING CHANGE: Removed mbedtls as default dependency
35 lines
1.3 KiB
CMake
35 lines
1.3 KiB
CMake
idf_build_get_property(target IDF_TARGET)
|
|
|
|
set(srcs "src/nvs_api.cpp"
|
|
"src/nvs_cxx_api.cpp"
|
|
"src/nvs_item_hash_list.cpp"
|
|
"src/nvs_page.cpp"
|
|
"src/nvs_pagemanager.cpp"
|
|
"src/nvs_storage.cpp"
|
|
"src/nvs_handle_simple.cpp"
|
|
"src/nvs_handle_locked.cpp"
|
|
"src/nvs_partition.cpp"
|
|
"src/nvs_partition_lookup.cpp"
|
|
"src/nvs_partition_manager.cpp"
|
|
"src/nvs_types.cpp")
|
|
|
|
idf_component_register(SRCS "${srcs}"
|
|
REQUIRES "spi_flash"
|
|
INCLUDE_DIRS "include")
|
|
|
|
# If we use the linux target, we need to redirect the crc functions to the linux
|
|
if(${target} STREQUAL "linux")
|
|
if(CONFIG_NVS_ENCRYPTION)
|
|
# mbedtls isn't configured for building with linux or as mock target. It will draw in all kind of dependencies
|
|
message(FATAL_ERROR "NVS currently doesn't support encryption if built for Linux.")
|
|
endif()
|
|
target_compile_options(${COMPONENT_LIB} PUBLIC "-DLINUX_TARGET")
|
|
target_compile_options(${COMPONENT_LIB} PUBLIC --coverage)
|
|
target_link_libraries(${COMPONENT_LIB} PUBLIC --coverage)
|
|
endif()
|
|
|
|
if(CONFIG_NVS_ENCRYPTION)
|
|
target_sources(${COMPONENT_LIB} PRIVATE "src/nvs_encrypted_partition.cpp")
|
|
target_link_libraries(${COMPONENT_LIB} PRIVATE idf::mbedtls)
|
|
endif()
|