mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
4dd88329c1
The following files have been ported: * esp_rom_crc.h * esp_rom_sys.h * esp_rom_efuse.h (mostly no-ops) * esp_rom_md5.h Integrated Linux-based rom implementation into log and NVS component. Added brief host tests for ROM to ensure basic consistency on Linux. Added ROM printf host unit tests. Temporarily added reset reason for Linux in ROM.
56 lines
2.0 KiB
CMake
56 lines
2.0 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")
|
|
|
|
set(public_req spi_flash)
|
|
|
|
# Current linux-based builds don't have common components.
|
|
# Add the necessary ones manually:
|
|
if(${target} STREQUAL "linux")
|
|
list(APPEND public_req "esp_rom" "log")
|
|
endif()
|
|
|
|
set(include_dirs "include")
|
|
|
|
idf_component_register(SRCS "${srcs}"
|
|
REQUIRES "${public_req}"
|
|
INCLUDE_DIRS "${include_dirs}")
|
|
|
|
# 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()
|
|
idf_component_get_property(spi_flash_dir spi_flash COMPONENT_DIR)
|
|
target_include_directories(${COMPONENT_LIB} PUBLIC
|
|
"${spi_flash_dir}/sim/stubs/freertos/include")
|
|
target_compile_options(${COMPONENT_LIB} PUBLIC "-DLINUX_TARGET")
|
|
else()
|
|
# TODO: this is a workaround until IDF-2085 is fixed
|
|
idf_component_get_property(mbedtls_lib mbedtls COMPONENT_LIB)
|
|
target_link_libraries(${COMPONENT_LIB} PUBLIC ${mbedtls_lib})
|
|
endif()
|
|
|
|
if(CONFIG_NVS_ENCRYPTION)
|
|
target_sources(${COMPONENT_LIB} PRIVATE "src/nvs_encrypted_partition.cpp")
|
|
idf_component_get_property(mbedtls_lib mbedtls COMPONENT_LIB)
|
|
target_link_libraries(${COMPONENT_LIB} PUBLIC ${mbedtls_lib})
|
|
endif()
|
|
|
|
if(${target} STREQUAL "linux")
|
|
target_compile_options(${COMPONENT_LIB} PUBLIC --coverage)
|
|
target_link_libraries(${COMPONENT_LIB} PUBLIC --coverage)
|
|
endif()
|