JD2022-TU1/main/build/sharpmake/Engine/Plugins.cs

126 lines
6.7 KiB
C#

using Sharpmake;
namespace JustDance.Engine
{
[Generate]
internal class PluginGateway : EngineProject
{
public PluginGateway()
{
RootPath = SourcePath + @"PluginGateway";
}
public override void ConfigureAll(Configuration conf, BaseCppTarget target)
{
base.ConfigureAll(conf, target);
conf.SolutionFolder = "Plugins";
}
}
[Generate]
internal class Plugins : EngineProject
{
public Plugins()
{
RootPath = SourcePath + @"tools\plugins";
SourceFilesBuildExcludeRegex.Add("BehaviorTreeToolsPlugin");
}
public override void ConfigureAll(Configuration conf, BaseCppTarget target)
{
base.ConfigureAll(conf, target);
conf.SolutionFolder = "Plugins";
conf.AddPrivateDependency<Raki>(target);
conf.AddPrivateDependency<Pleo>(target);
conf.IncludePaths.Add(ExternPath + "SK_iisu/include",
ExternPath + "SK_iisu/PS4/include",
ExternPath + "EDGE/edge_1_2_0/cell/host-common/include",
ExternPath + "EDGE/edge_1_2_0/cell/target/common/include",
ExternPath + "EDGE/edge_1_2_0/cell/target/ppu/include",
ExternPath + "EDGE/edge_1_2_0/cell/target/spu/include",
ExternPath + "UbiServices/custom/client-sdk/public",
ExternPath + "UbiServices/custom/external/harbourcommon/libraries/harboureal/api/sources",
ExternPath + "rapidjson/include");
if (conf.Platform.IsWindows())
{
conf.IncludePaths.Add( ExternPath + "NVIDIA Texture Tools 2",
ExternPath + "NVIDIA Texture Tools 2/src/gnuwin32/include",
ExternPath + "NVIDIA Texture Tools 2/src/src",
ExternPath + "NVIDIA Texture Tools 2/src/project/vc8");
var nvidiaLibPath = string.Format("{0}{1}{2}",
(target.Optimization == Optimization.Retail) ? Optimization.Release : target.Optimization,
target.DevEnv.GetDevEnvString(),
conf.Platform == Platform.win64 ? "/x64" : "");
string targetSuffix = target.DevEnv == DevEnv.vs2012 ? "_vs12" :
target.DevEnv == DevEnv.vs2015 ? "_vs15" :
"_vs17";
string archSuffix = conf.Platform == Platform.win64 ? "64" : "32";
var nvidiaLibName = string.Format("nvtt{0}{1}.dll", archSuffix, targetSuffix);
conf.LibraryPaths.Add(ExternPath + @"NVIDIA Texture Tools 2/lib/" + nvidiaLibPath);
conf.AddPostBuildCopy(new XCopyCommand(ExternPath + @"NVIDIA Texture Tools 2/lib/" + nvidiaLibPath + "/" + nvidiaLibName));
}
if (conf.Platform != Platform.orbis || target.Optimization == Optimization.Retail)
{
conf.SourceFilesBuildExcludeRegex.Add("VisualInputVCR");
}
if (conf.Platform.IsWindows())
{
if (target.Optimization != Optimization.Retail)
{
conf.SourceFilesFiltersRegex.Add("tools\\\\plugins\\\\.*\\.cpp");
}
else
{
conf.SourceFilesFiltersRegex.Add("ResourceToolsPlugin", "MemoryViewerPlugin", "SchedulerMonitorPlugin", "EngineMonitorPlugin", "WarningTool",
"RemoteProfilerPlugin", "SoundMonitorPlugin", "NFCPlugin", "DRCEmulatorPlugin", "GameFlowDebuggerPlugin", "Plugin_TestIsc", "AgingBotToolPlugin", "PhoneInfoToolPlugin", "GearStudioPlugin");
}
}
else if (conf.Platform == Platform.durango)
{
conf.SourceFilesFiltersRegex.Add("ResourceToolsPlugin", "MemoryViewerPlugin", "SchedulerMonitorPlugin", "EngineMonitorPlugin", "WarningTool",
"RemoteProfilerPlugin", "SoundMonitorPlugin", "NFCPlugin", "DRCEmulatorPlugin", "GameFlowDebuggerPlugin", "Plugin_TestIsc", "AgingBotToolPlugin", "PhoneInfoToolPlugin", "GearStudioPlugin");
}
else if (conf.Platform == Platform.orbis)
{
conf.SourceFilesFiltersRegex.Add("ResourceToolsPlugin", "MemoryViewerPlugin", "SchedulerMonitorPlugin", "EngineMonitorPlugin",
"RemoteProfilerPlugin", "SoundMonitorPlugin", "NFCPlugin", "DRCEmulatorPlugin", "GameFlowDebuggerPlugin", "Plugin_TestIsc",
"VisualInputVCR", "WarningTool", "AgingBotToolPlugin", "PhoneInfoToolPlugin", "GearStudioPlugin");
}
else if (conf.Platform == Platform.nx)
{
conf.SourceFilesFiltersRegex.Add("ResourceToolsPlugin", "MemoryViewerPlugin", "EngineMonitorPlugin", "RemoteProfilerPlugin",
"SoundMonitorPlugin", "NFCPlugin", "BridgePlugin", "WarningTool", "Plugin_TestIsc", "Plugin_Cheats", "FxEditorPlugin",
"GameFlowDebuggerPlugin", "AgingBotToolPlugin", "GearStudioPlugin");
}
/*
else if (conf.Platform == Ggp.SharpmakePlatform) {
conf.SourceFilesFiltersRegex.Add("ResourceToolsPlugin", "MemoryViewerPlugin", "EngineMonitorPlugin", "RemoteProfilerPlugin",
"SoundMonitorPlugin", "NFCPlugin", "BridgePlugin", "WarningTool", "Plugin_TestIsc", "Plugin_Cheats", "FxEditorPlugin",
"GameFlowDebuggerPlugin", "AgingBotToolPlugin", "GearStudioPlugin");
}
else if (conf.Platform == Prospero.SharpmakePlatform)
{
conf.SourceFilesFiltersRegex.Add("ResourceToolsPlugin", "MemoryViewerPlugin", "SchedulerMonitorPlugin", "EngineMonitorPlugin",
"RemoteProfilerPlugin", "SoundMonitorPlugin", "NFCPlugin", "DRCEmulatorPlugin", "GameFlowDebuggerPlugin", "Plugin_TestIsc",
"WarningTool", "AgingBotToolPlugin", "PhoneInfoToolPlugin", "GearStudioPlugin");
}
else if (conf.Platform == Scarlett.SharpmakePlatform)
{
conf.SourceFilesFiltersRegex.Add("ResourceToolsPlugin", "MemoryViewerPlugin", "SchedulerMonitorPlugin", "EngineMonitorPlugin",
"RemoteProfilerPlugin", "SoundMonitorPlugin", "NFCPlugin", "DRCEmulatorPlugin", "GameFlowDebuggerPlugin", "Plugin_TestIsc",
"WarningTool", "AgingBotToolPlugin", "PhoneInfoToolPlugin", "GearStudioPlugin");
}
*/
}
}
}