In theory it is a flag. However in practice it almost never works. I cross compile all the time and there is nearly always something that the developers didn't think of (probably didn't know about) that makes their code not cross compile. Automake never works right. Even Cargo often fails to get something right (and I don't know rust/cargo well enough to know how to figure out what, much less how to fix it though I suspect Cargo would fix my bug reports if I could figure out what is wrong with enough detail that they can figure out the issue). Cmake always works in my experience.
Note that I didn't mention python above. If python is acceptable performance you probably have enough power (including memory) on the target to just compile everything on that system thus avoiding cross compiling.
Fair that there are often problems. My expectations would be that nothing is flawless, with how often native builds can be difficult. Still, I thought for the common targets with minimal dependencies, it was largely a flag.
And apologies for the confusion of mentioning python. I did that largely because it was frustratingly hard to get a cross target python for a long time.
Note that I didn't mention python above. If python is acceptable performance you probably have enough power (including memory) on the target to just compile everything on that system thus avoiding cross compiling.