esp-idf/tools/cmake
Frantisek Hrbata 03162bb276 tools: extend information in project_description.json
This extends information provided in the project_description.json file.
Newly added information can be used in the SBOM generating tool and
also to improve hints regarding the the component dependency issues.

Added fields

version:
   This adds versioning to the project_description.json file,
   so it's easy to identify if it contains the required information.

project_version:
   Can be used as a version for the resulting binary e.g. `hello_world.bin`.

idf_path:
   This one is probably not necessary, but it allows tools to run even without
   esp-idf environment exported(e.g. export.sh).

c_compiler:
   The `CMAKE_C_COMPILER` value with full path to the compiler binary. This can
   be used to get information about toolchain, which was used to build the project.

common_component_reqs:
   List of common components as presented in cmake's __COMPONENT_REQUIRES_COMMON
   and set in tools/cmake/build.cmake:__build_init().

build_component_info:
   Detailed information about components used during build. It's a
   dictionary with the component name as a key and each component has
   a dictionary with detailed information. Following is an example for
   the efuse component.

   "efuse": {
       "alias": "idf::efuse",
       "target": "___idf_efuse",
       "prefix": "idf",
       "dir": "/home/fhrbata/work/esp-idf/components/efuse",
       "type": "LIBRARY",
       "lib": "__idf_efuse",
       "reqs": [],
       "priv_reqs": [ "bootloader_support", "soc", "spi_flash" ],
       "managed_reqs": [],
       "managed_priv_reqs": [],
       "file": "/home/fhrbata/work/blink/build/esp-idf/efuse/libefuse.a",
       "sources": [ "/home/fhrbata/work/esp-idf/components/efuse/esp32s3/esp_efuse_table.c", ... ],
       "include_dirs": [ "include", "esp32s3/include" ]
   }

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-08 14:29:53 +02:00
..
scripts build & config: Don't include common components on early expansion 2022-05-30 14:34:30 +02:00
third_party Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
build.cmake cxx: gnu++23 -> gnu++2b for clang compatibility, added docs and test 2023-05-11 17:48:38 +08:00
component_deps.dot.in G0: add a build example to check G0 dependencies 2022-06-14 15:00:53 +08:00
component.cmake build system: Add idf_component_add_link_dependency function, use for spi_flash overriding 2022-12-16 16:26:44 +01:00
depgraph.cmake cmake: add component dependency graph generation helpers 2021-12-02 15:29:00 +01:00
dfu.cmake esp32h4: removed esp32h4 related codes 2023-04-26 18:53:12 +08:00
git_submodules.cmake CI: build system do not check submodule for CI 2019-12-08 20:32:10 +08:00
idf.cmake tools: cmake: check tool supported version with idf_tools.py 2022-10-03 19:01:32 +04:00
kconfig.cmake build-system: replace ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES 2023-05-10 09:53:55 +08:00
ldgen.cmake build-system: replace ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES 2023-05-10 09:53:55 +08:00
project_description.json.in tools: extend information in project_description.json 2023-06-08 14:29:53 +02:00
project.cmake tools: extend information in project_description.json 2023-06-08 14:29:53 +02:00
run_dfu_util.cmake tools: Increase the minimal supported CMake version to 3.16 2022-06-01 06:35:02 +00:00
run_size_tool.cmake tools: Add --output-file argument to idf.py size commands 2022-09-27 15:41:36 +02:00
targets.cmake tools: fix custom sdkconfig renaming in set-target 2023-03-08 16:45:55 +01:00
tool_version_check.cmake tools: cmake: check tool supported version with idf_tools.py 2022-10-03 19:01:32 +04:00
toolchain-clang-esp32.cmake build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
toolchain-clang-esp32c2.cmake build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
toolchain-clang-esp32c3.cmake build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
toolchain-clang-esp32c6.cmake build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
toolchain-clang-esp32h2.cmake build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
toolchain-clang-esp32s2.cmake build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
toolchain-clang-esp32s3.cmake build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
toolchain-esp32.cmake Build: Xtensa assembly files are now assembled with -mlongcalls option 2022-06-20 13:56:49 +08:00
toolchain-esp32c2.cmake tools: add riscv zicsr/zifencei because they were separated from i 2023-02-22 05:33:03 +00:00
toolchain-esp32c3.cmake tools: add riscv zicsr/zifencei because they were separated from i 2023-02-22 05:33:03 +00:00
toolchain-esp32c6.cmake tools: add riscv zicsr/zifencei because they were separated from i 2023-02-22 05:33:03 +00:00
toolchain-esp32h2.cmake tools: change esp32h2 march to rv32imac_zicsr_zifencei 2023-02-22 05:33:03 +00:00
toolchain-esp32s2.cmake Build: Xtensa assembly files are now assembled with -mlongcalls option 2022-06-20 13:56:49 +08:00
toolchain-esp32s3.cmake Build: Xtensa assembly files are now assembled with -mlongcalls option 2022-06-20 13:56:49 +08:00
toolchain-linux.cmake build system: don't add GCC-specific options when building with clang 2021-01-24 12:48:29 +01:00
uf2.cmake esp32h4: removed esp32h4 related codes 2023-04-26 18:53:12 +08:00
utilities.cmake tools: fix make_json_list to return empty json list for empty cmake list 2023-06-08 14:29:53 +02:00
version.cmake versions: Update version to 5.1.0 2022-08-04 09:55:43 +02:00