Look for a candidate file either based on the -project argument or if there is an argument that ends in .uproject. Then check if the candidate exists (e.g if it's a full path), if not use the ueprojectdirs entries to see if it exists in one of those directories.
(Note - it would be good to reconcile this code with some things in the Automation csproj that do the same thing, but there wasn't an obvious project for that to live in...).
[at]ben.marsh
#rb swarm
#ROBOMERGE-SOURCE: CL 11195074 via CL 11195078
#ROBOMERGE-BOT: (v640-11091645)
[CL 11195320 by andrew grant in Main branch]
#rb Ben.Marsh
#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: michael.lentine
#ROBOMERGE-SOURCE: CL 10727300 via CL 10727303 via CL 10727314 via CL 10727316 via CL 10727317
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v610-10636431)
[CL 10822710 by michael lentine in Dev-Build branch]
#rb Ben.Marsh
#ROBOMERGE-OWNER: michael.lentine
#ROBOMERGE-AUTHOR: michael.lentine
#ROBOMERGE-SOURCE: CL 10727300 via CL 10727303 via CL 10727314 via CL 10727316
#ROBOMERGE-BOT: (v610-10636431)
[CL 10727317 by michael lentine in Main branch]
Reported in UDN:
https://udn.unrealengine.com/questions/528859/view.html
Also fixed so that HololensTarget is actually getting configured from setting sources, including command line and BuildConfiguration.xml which I added attributes for to match how Windows targets can be configured.
#rb ben.marsh
[CL 9866335 by Joakim Lindqvist in Dev-Build branch]
Any build targets have a DefaultBuildSettings property. For engine targets, this defaults to BuildSettingsVersion.Latest. For project targets, this defaults to BuildSettingsVersion.Release_4_23. For new projects, this will default to the engine version they are created from.
If a target is not using the latest default build settings, they will receive a message describing the settings that have changed, like this:
[Upgrade]
[Upgrade] Using UE 4.23 compatible build settings. The latest version of UE4 sets the following values by default, which may require code changes:
[Upgrade] bLegacyPublicIncludePaths = false => Omits subfolders from public include paths to reduce compiler command line length.
[Upgrade] PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs => Set in build.cs files to enables IWYU-style PCH model. See https://docs.unrealengine.com/en-US/Programming/BuildTools/UnrealBuildTool/IWYU/index.html.
[Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.Release_4_24;' in UnrealPak.Target.cs, and explicitly overriding desired settings.
[Upgrade]
Intent is to reduce friction for users initially upgrading to new engine versions, while notifying them of more optimal build settings being available, and letting them choose when (or if) to use them.
#rb none
[CL 8556769 by Ben Marsh in Dev-Build branch]