Global environment definitions

I have been attempting to create my own override of the steam subsystem. Unfortunately, stock UE uses a define STEAM_SUBSYSTEM to use as connective tissue across a few classes. I would like to override that variable without modifying the OnlineSubsystemName.h code.

Additionally, I have a couple of overriding steam subsystems in play (one for normal UE4 audio and one for Wwise) for different projects. In general I use the same modified engine across multiple projects. This complicates things quite a bit which is why I’m looking for the ability to specify global environment definitions across an entire project.

Within ModuleRules, I have the ability to specify Definitions, but that is specific to the module. I tried using TargetRules.SetupGlobalEnvironment, but that appears to be limited to only modules within a target - and therefore my project’s target doesn’t appear to affect engine source files.

Anyone able to get this or a similar madness working?