Source builds for Perforce distribution

I am trying to get a source build of UE4 14.6 into perforce and usable by the non-programming team members.

However when other users get the project/engine they are always informed the game DLL is out of date, if they accept the option to rebuild it lots of engine modules are reported as out of date. From my investigations there seems to be a couple of issues here

  1. The engine association in the uproject file which meant the uproject always appeared as though it had been compiled on a different engine version. This I fixed by following this:

Essentially just a folder hierarchy issue.

  1. The “build ID” stored in the modules presumably doesn’t match somewhere it should?

I found some partial answers:

This says ENGINE_IS LICENSEE_VERSION in Version.h should be set to 1 and the recommends setting BUILT_FROM_CHANGELIST to non-zero but also seems to suggest it would be better

THis suggest that BUILT_FROM_CHANGELIST is set to the changelist version from source control (in our case P4V).

But neither answer says how to go about setting BUILT_FROM_CHANGELIST automatically.

I don’t really have a great deal of experience with the UE4 build process so apologies for the vagueness of my post/questions - I am just starting to get to grips with what is going on. So my questions are:

A. Am I going about this the right way?
B. How do I set BUILT_FROM_CHANGELIST? I have seen there is a SetVersion function amongst all the build stuff but I don’t know if I should be calling that somewhere?