I’v downloaded UE4 sources from github, made some modifications inside engine renderer (for example added new lighting model and so on), build up engine and distributed the whole /Engine directory (without /Intermediate subdir) to my co-workers.
Now they’v associated our game with this custom engine version (right click on uproject & ‘switch unreal engine version …’ & show new /Engine directory).
Then they’v right click on uproject & ‘generate visual studio project files’.
And now is the problem - the generated .sln contains more projects than the original one (generated using ‘standard UE 4.8.3’) the additional targets are in /Programs solution folder, and when they build the .sln, whole engine is build once again …
The reason for this is that the shell extension to generate project files executes for ‘custom’ engine this:
After a while I’v looked into shell extension source code, to see what triggers the -engine vs. -rocket behaviour, it turns out that IF in the distribution I provide to co-workers there is a file Engine\Build\SourceDistribution.txt
then the shell extension will add -engine flag, if this file is not present ‘normal’ -rocket flag is added … so basically I’v removed this file from binary repository of our custom engine and all is fine, co-workers can use it as ‘normal’ engine and dont’s suffer from loooong compilation times