Files
UnrealEngineUWP/Engine/Source/Runtime/BuildSettings/BuildSettings.Build.cs
Ben Marsh 9655b03674 Trigger a link error whenever a module is missing a valid IMPLEMENT_MODULE macro on Windows.
The IMPLEMENT_MODULE macro now defines an empty function called IMPLEMENT_MODULE_{ModuleName}, to which we force a reference to via the linker command line. This behavior can be disabled on a per-module basis by setting bRequiresImplementModule = false from a .build.cs file.

#rb none

[CL 4827582 by Ben Marsh in Main branch]
2019-01-28 22:59:56 -05:00

28 lines
1.2 KiB
C#

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.IO;
public class BuildSettings : ModuleRules
{
public BuildSettings(ReadOnlyTargetRules Target) : base(Target)
{
PrivateIncludePathModuleNames.Add("Core");
bRequiresImplementModule = false;
PrivateDefinitions.Add(string.Format("ENGINE_VERSION_MAJOR={0}", Target.Version.MajorVersion));
PrivateDefinitions.Add(string.Format("ENGINE_VERSION_MINOR={0}", Target.Version.MinorVersion));
PrivateDefinitions.Add(string.Format("ENGINE_VERSION_HOTFIX={0}", Target.Version.PatchVersion));
PrivateDefinitions.Add(string.Format("ENGINE_IS_LICENSEE_VERSION={0}", Target.Version.IsLicenseeVersion? "true" : "false"));
PrivateDefinitions.Add(string.Format("ENGINE_IS_PROMOTED_BUILD={0}", Target.Version.IsPromotedBuild? "true" : "false"));
PrivateDefinitions.Add(string.Format("CURRENT_CHANGELIST={0}", Target.Version.Changelist));
PrivateDefinitions.Add(string.Format("COMPATIBLE_CHANGELIST={0}", Target.Version.EffectiveCompatibleChangelist));
PrivateDefinitions.Add(string.Format("BRANCH_NAME=\"{0}\"", Target.Version.BranchName));
PrivateDefinitions.Add(string.Format("BUILD_VERSION=\"{0}\"", Target.BuildVersion));
}
}