esp-idf/tools/test_apps/system/no_embedded_paths
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 config: Add new option to replace IDF_PATH and project path with placeholders in macros 2021-03-03 10:31:05 +11:00
check_for_file_paths.py ci: Add a test app for not placing embedded file paths into binaries 2021-03-03 10:31:05 +11:00
CMakeLists.txt tools: Increase the minimal supported CMake version to 3.16 2022-06-01 06:35:02 +00:00
README.md Support ESP32S3 Beta 3 target 2021-03-18 10:24:22 +08:00
sdkconfig.ci.noasserts freertos: remove FREERTOS_ASSERT option 2022-01-07 09:16:48 +08:00
sdkconfig.ci.noasserts.nimble freertos: remove FREERTOS_ASSERT option 2022-01-07 09:16:48 +08:00
sdkconfig.ci.replacepaths config: Add new option to replace IDF_PATH and project path with placeholders in macros 2021-03-03 10:31:05 +11:00
sdkconfig.ci.silentasserts config: Add new option to replace IDF_PATH and project path with placeholders in macros 2021-03-03 10:31:05 +11:00
sdkconfig.ci.silentasserts.nimble freertos: remove FREERTOS_ASSERT option 2022-01-07 09:16:48 +08:00

Supported Targets ESP32 ESP32-S2 ESP32-C3

No Embedded Paths

This test app exists to verify that paths (like FILE) are not compiled into any object files in configurations where this should be avoided.

Configurations where this is relevant include:

  • Assertions disabled (doubles up as a build-time check that disabling assertions doesn't lead to any warnings)
  • Silent assertions
  • CONFIG_COMPILER_HIDE_PATHS_MACROS is set to replace IDF_PATH and project dir with placeholders when expanding __FILE__

Not embedding paths reduces the binary size, avoids leaking information about the compilation environment, and is a necessary step to support reproducible builds across projects built in different directories.