esp-idf/examples/build_system/cmake/import_prebuilt
Djordje Nedic facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00:00
..
main Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
prebuilt tools: Increase the minimal supported CMake version to 3.16 2022-06-01 06:35:02 +00:00
CMakeLists.txt tools: Increase the minimal supported CMake version to 3.16 2022-06-01 06:35:02 +00:00
README.md examples: add import prebuilt example 2019-12-10 19:22:25 +08:00

Import Prebuilt Library Example

This example illustrates how to import a prebuilt static library in the ESP-IDF build system.

Example Flow

Users need to first build the project in the prebuilt subdirectory:

cd prebuilt
idf.py build

This builds a component named prebuilt, which has private dependency on ESP-IDF components spi_flash, log and app_update (see its CMakeLists.txt). Once built, the archive file libprebuilt.a, along with the header file prebuilt.h, is automatically copied to the main component of this example project.

The main component's CMakeLists.txt demonstrates how to import libprebuilt.a and link it to main so that the definitions inside can be used. It also demonstrates how to specify the same dependencies the original component had so as to properly resolve symbols used inside the prebuilt library.

Users can then return to this directory and build the main example:

cd ..
idf.py build

Output

The example simply outputs the current running partition.

I (319) prebuilt: The running partition is 'factory'!

There is a discussion on importing prebuilt libraries in the programming guide under API Guides -> Build System -> Using Prebuilt Libraries with Components