30public static partial class ModuleRuleExtensions
48 =>
self.PluginBinaries() / insert /
self.Target.Platform.
ToString();
54 =>
self.PluginBinaries() / insert /
self.GetBaseModuleName();
60 =>
self.PluginBinaries() / insert /
self.GetBaseModuleName() /
self.Target.Platform.
ToString();
67 self.Target is { Configuration: UnrealTargetConfiguration.Debug, bDebugBuildsActuallyUseDebugCRT:
true };
72 public static string GetLibraryConfig(
this ModuleRules
self,
bool allowDebugLibraries =
true)
73 => allowDebugLibraries &&
self.IsReallyDebug() ?
"Debug" :
"Release";
80 if (!
self.GetType().Name.Contains(
"_"))
return self.GetType().Name;
81 var moduleNameComponents =
self.GetType().Name
84 return string.Join(
'_', moduleNameComponents);
A simplified copy of NUKE's own AbsolutePath class https://github.com/nuke-build/nuke/blob/develop/so...
override string ToString()
static AbsolutePath PluginModuleBinaries(this ModuleRules self, string insert="")
static AbsolutePath PluginModuleBinariesPlatform(this ModuleRules self, string insert="")
static AbsolutePath PluginPath(this ModuleRules self)
Path to the plugin folder to which this module belongs
static bool IsReallyDebug(this ModuleRules self)
Is the current build fully linked as debug build? This is usually only the case when building engine ...
static AbsolutePath ModulePath(this ModuleRules self)
Path to the module folder
static AbsolutePath PluginBinariesPlatform(this ModuleRules self, string insert="")
static AbsolutePath PluginBinaries(this ModuleRules self)
A consistent place for plugin binaries
static string GetBaseModuleName(this ModuleRules self)
Infer module name from its class name.
static AbsolutePath ProjectPath(this ModuleRules self)
Path to the project folder to which this module belongs
static string GetLibraryConfig(this ModuleRules self, bool allowDebugLibraries=true)
Get the actual preferred linkage for a third-party library.