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(target); conf.AddPrivateDependency(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"); } */ } } }