In my current organisation, we have several different build environments (like toolset etc.) which are needed for compiling the code of different modules within the same product. I found this a big mess where every engineer, in order to build their codebase, first has to go through the mundane task of setting up their dev machine confining to that module's requirements.
E.g. recently I had to jump to a different module to code their interface that interacts with mine. In order to do this, I had to spend considerable time to actually create a dev environment where the code can at least get compiled. I think this is pretty messy and often leads to wasting time doing stupid things.
Is this really a good practice that other companies follow as well? I was wondering if I should write scripts that can do this automatically. Is there any other way as well, like having a common build setup that acts as superset for all modules (though it might have some extra stuff in itself)?