How does the build system determine the platform launch

I’m trying to add a new platform for the new Windows 8.1 Universal apps. I’ve started simple by adding a new main entry point for the platform within \Engine\Source\Launch<CustomPlatform>\ and I cant figure out how or where the build tool determines which entry point to include while building a specific platform. After adding my source file and building for Win64, I found this within \Engine\Intermediate\Build\Win64\UE4Editor\Development\Launch\Module.Launch.cpp



// This file is automatically generated at compile-time to include some subset of the user-created cpp files.
#include "C:\UE4\UnrealEngine\Engine\Source\Editor\UnrealEd\Public\UnrealEd.h"
#include "C:\UE4\UnrealEngine\Engine\Source\Runtime\Launch\Private\Launch.cpp"
#include "C:\UE4\UnrealEngine\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp"
#include "C:\UE4\UnrealEngine\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp"
**#include "C:\UE4\UnrealEngine\Engine\Source\Runtime\Launch\Private\WinRuntimeApp\WinRuntimeAppLaunch.cpp"**


The build tool added my sources file but not any other (except the Windows one) from the Launch\Private directory.

I’ve looked through the source again today but still cant for the life of me figure out how the build system determines which main entry point corresponds to which platform. Epic Devs, any pointers?

Found the line that determines which source files to include within \Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs, where it calls Utils.MakeListOfUnsupportedPlatforms It builds a list of unsupported platform names based on the current build’s target platform then excludes source files from any directory whose name matches a name within the unsupported platforms.