mirror of
https://github.com/espressif/esp-idf.git
synced 2026-07-15 07:23:07 +03:00
This is a revised version of the existing __create_confserver_target function. It creates a specified confserver target for a given executable. The kconfig_menus.json file, used by the IDEs, is generated when the confserver starts. This differs from the previous behavior, where kconfig_menus.json was created globally along with other sdkconfig formats. The reason for this change is that kconfig_menus.json contains the Kconfig menu hierarchy and it is not just a flat option-value format. It needs to accurately reflect which configurations for which components are included or excluded. The kconfig_menus.json is generated at `build/kconfig_menus.json`, where IDEs expect it. This means the file is overwritten every time the server starts by kconfig_menus.json version for given executable, so only one confserver can run at a time. This is likely acceptable, as I don't believe it's possible to safely run multiple instances of confserver due to the potential race conditions when the sdkconfig file are generated. In the future, we may include the location of kconfig_menus.json in project_description.json so it can be easily identified by IDEs for each executable. Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>