Welcome to idf-build-apps’s documentation!
idf-build-apps
idf-build-apps
is a tool that helps users find and build ESP-IDF projects faster.
What is an app
?
An ESP-IDF project would typically contain:
Build recipe in CMake and the main component with app sources
(Optional) One or more sdkconfig files
app
is the abbreviation for application. An application is the binary that is being built with the specified sdkconfig and the target chip. idf-build-apps
could build one project into a number of applications.
Installation
pip install idf-build-apps
or pipx
pipx install idf-build-apps
Basic Usage
idf-build-apps
is a callable python package, and an executable script with the same name would also be installed. It contains two sub-commands.
find
to find the buildable applicationsbuild
to build the found applications
For detailed explanation to all CLI options, you may run
idf-build-apps -h
idf-build-apps find -h
idf-build-apps build -h
Quick Example
To build the applications for all targets of the ESP-IDF hello world example project under ESP-IDF v5.0:
idf-build-apps build -p $IDF_PATH/examples/get-started/hello_world/ --target all --build-dir build_@t
It would get the default supported targets from your IDF version, build the hello world project with all targets and the default sdkconfig
file.
Partial build log:
2023-02-22 12:14:58 INFO Found 5 apps in total
2023-02-22 12:14:58 INFO Total 5 apps. running build for app 1-5
2023-02-22 12:14:58 INFO Building the following apps:
2023-02-22 12:14:58 INFO (cmake) App /tmp/test/esp/esp-idf/examples/get-started/hello_world/, target esp32, sdkconfig (default), build in /tmp/test/esp/esp-idf/examples/get-started/hello_world/build_esp32 (preserve: True)
2023-02-22 12:14:58 INFO (cmake) App /tmp/test/esp/esp-idf/examples/get-started/hello_world/, target esp32c2, sdkconfig (default), build in /tmp/test/esp/esp-idf/examples/get-started/hello_world/build_esp32c2 (preserve: True)
2023-02-22 12:14:58 INFO (cmake) App /tmp/test/esp/esp-idf/examples/get-started/hello_world/, target esp32c3, sdkconfig (default), build in /tmp/test/esp/esp-idf/examples/get-started/hello_world/build_esp32c3 (preserve: True)
2023-02-22 12:14:58 INFO (cmake) App /tmp/test/esp/esp-idf/examples/get-started/hello_world/, target esp32s2, sdkconfig (default), build in /tmp/test/esp/esp-idf/examples/get-started/hello_world/build_esp32s2 (preserve: True)
2023-02-22 12:14:58 INFO (cmake) App /tmp/test/esp/esp-idf/examples/get-started/hello_world/, target esp32s3, sdkconfig (default), build in /tmp/test/esp/esp-idf/examples/get-started/hello_world/build_esp32s3 (preserve: True)
For detailed information, please refer to our documentation site!
Contributing
Thanks for your contribution! Please refer to our Contributing Guide