Installing a whole toolchain and SDK system-wide is such nonsense.
Espressif's toolchain and SDK are in a git repo that you add as a submodule, or in a directory anywhere you want.
If I want to use microchip or Nordic on a new machine I have to go through this whole process of installing and configuring everything. My ESP projects simply involve a git pull and I'm done.
Nordic was a special pain in the ass because I had to hunt for the exact correct version of the SDK which was hidden away because it's a few versions old. If I need to do the same for espressif, it's literally just a git switch away.
Espressif is in an entirely different league from ST, nordNordic, et al. They're not even playing the same game. Espressif wants anyone and everyone to use their stuff and ST seems to actively hate developers and only want to work with companies buying tens of thousands of units. Like, ST cripples their USB programming tool to only accept 'genuine' ST parts. It's frankly disrespectful.
i dont like espressif build system.
like "component" directory in cmake, or just call our "cmake function" to include this source files. Or modify this variable to add your custom dir.
Why they can't just stick with vanilla cmake ?
That's the reason i run Zephyr on esp32, no cmake nonsense from espressif.