Switching toolchains

I am trying to create a buildflow for an embedded target that will first create some ntaive (host) tools and then compile the target application.
After target compilkation the target code will be prepared to be flashed on target by using the tools created in the beginning…
It should be nice to only have one entry and then watch the complete build with out having to do separate cmake generations via some scripts or makefiles.
So I am trying ExternalProject for target compiliation as I can choose a new toolchain there.
But it is a very blackbox and I can not reach the targets inside from the calling CMakeList.txt that is waiting for the compilation. Seems I can only wait for the whole external_project.
So is there another way to switch toolchains for subproject or can somehow reference targets inside a ExternProject.
FetchContent seemed interesting but I can not see that I can change the Toolchain for those projects.
Patrik Svensson

Sorry, there’s no mechanism to do anything except wait for entire steps when using ExternalProject. What you can do is to add a “build-host-tools” step between configure and build and try and make things use the results of that step so they’re not blocked on whatever else is going on and delaying things.