EasyManuals Logo

Espressif ESP32-S2 User Manual

Espressif ESP32-S2
1695 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #1486 background imageLoading...
Page #1486 background image
Chapter 4. API Guides
4.27.4 IDF Component Manager
The IDF Component manager is a tool that downloads dependencies for any ESP-IDF CMake project. The download
happens automatically during a run of CMake. It can source components either from the component registry or from
a git repository.
A list of components can be found on https://components.espressif.com/
Activating the Component Manager
If CMake is started using idf.py or ESP-IDF VSCode Extension then the component manager will be activated
by default.
If CMake is used directly or with some CMake-based IDE like CLion, its necessary to set the
IDF_COMPONENT_MANAGER environment variable to 1 to enable the component manager integration with the
build system.
Using with a project
Dependencies for each component in the project are defined in a separate manifest file named idf_component.
yml placed in the root of the component. The manifest file template can be created for a component by running
idf.py create-manifest --component=my_component. When a new manifest is added to one of
the components in the project its necessary to reconfigure it manually by running idf.py reconfigure. Then
build will track changes in idf_component.yml manifests and automatically triggers CMake when necessary.
There is an example application: example:build_system/cmake/component_manager that uses components installed
by the component manager.
Its not necessary to have a manifest for components that dont need any managed dependencies.
When CMake configures the project (e.g. idf.py reconfigure) component manager does a few things:
Processes idf_component.yml manifests for every component in the project and recursively solves de-
pendencies
Creates a dependencies.lock file in the root of the project with a full list of dependencies
Downloads all dependencies to the managed_components directory
The lock-file dependencies.lock and content of managed_components directory is not supposed to be
modified by a user. When the component manager runs it always make sure they are up to date. If these files
were accidentally modified its possible to re-run the component manager by triggering CMake with idf.py
reconfigure
Defining dependencies in the manifest
dependencies:
# Required IDF version
idf: ">=4.1"
# Defining a dependency from the registry:
# https://components.espressif.com/component/example/cmp
example/cmp: ">=1.0.0"
# # Other ways to define dependencies
#
# # For components maintained by Espressif only name can be used.
# # Same as `espressif/cmp`
# component: "~1.0.0"
#
# # Or in a longer form with extra parameters
# component2:
(continues on next page)
Espressif Systems 1475
Submit Document Feedback
Release v4.4

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Espressif ESP32-S2 and is the answer not in the manual?

Espressif ESP32-S2 Specifications

General IconGeneral
BrandEspressif
ModelESP32-S2
CategorySingle board computers
LanguageEnglish