Idf Component Manager - Espressif ESP32-S2 Programming Manual

Table of Contents

Advertisement

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
a git repository.
A list of components can be found on
Activating the Component Manager
If CMake is started using idf.py or
by default.
If CMake is used directly or with some CMake-based IDE like CLion, it's 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 it' s 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.
It's not necessary to have a manifest for components that don't 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 it's 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:
Espressif Systems
https://components.espressif.com/
ESP-IDF VSCode Extension
1475
Submit Document Feedback
the component registry
then the component manager will be activated
or from
(continues on next page)
Release v4.4

Advertisement

Table of Contents
loading
Need help?

Need help?

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

Questions and answers

Table of Contents

Save PDF