// Copyright Epic Games, Inc. All Rights Reserved. using System; namespace UnrealBuildTool { public abstract partial class TargetRules { /// /// Whether the target uses Steam. /// [Obsolete("Deprecated in UE5.5 - No longer used in engine.")] public bool bUsesSteam { get; set; } /// /// Whether to compile the Chaos physics plugin. /// [Obsolete("Deprecated in UE5.1 - No longer used as Chaos is always enabled.")] public bool bCompileChaos { get; set; } /// /// Whether to use the Chaos physics interface. This overrides the physx flags to disable APEX and NvCloth /// [Obsolete("Deprecated in UE5.1 - No longer used as Chaos is always enabled.")] public bool bUseChaos { get; set; } /// /// Whether scene query acceleration is done by UE. The physx scene query structure is still created, but we do not use it. /// [Obsolete("Deprecated in UE5.1 - No longer used in engine.")] public bool bCustomSceneQueryStructure { get; set; } /// /// Whether to include PhysX support. /// [Obsolete("Deprecated in UE5.1 - No longer used as Chaos is always enabled.")] public bool bCompilePhysX { get; set; } /// /// Whether to include PhysX APEX support. /// [Obsolete("Deprecated in UE5.1 - No longer used as Chaos is always enabled.")] public bool bCompileAPEX { get; set; } /// /// Whether to include NvCloth. /// [Obsolete("Deprecated in UE5.1 - No longer used as Chaos is always enabled.")] public bool bCompileNvCloth { get; set; } /// /// Whether to compile IntelMetricsDiscovery. /// [Obsolete("Deprecated in UE5.4 - No longer used.")] public bool bCompileIntelMetricsDiscovery { get; set; } = false; /// /// Obsolete: whether to enable support for DirectX Math /// Not compatible with LWC so has been disabled since UE 5. /// [RequiresUniqueBuildEnvironment] [Obsolete("Deprecated in UE 5.6 - DirectXMath path was incompatible with LWC and unused since 5.0")] public bool bWithDirectXMath { get; set; } /// /// True if we want to favor optimizing size over speed. /// [Obsolete("Deprecated in UE5.1 - Please use OptimizationLevel instead.")] public bool bCompileForSize { get; set; } /// /// Whether to merge module and generated unity files for faster compilation. /// [Obsolete("Deprecated in UE5.3 - use DisableMergingModuleAndGeneratedFilesInUnityFiles instead")] public bool bMergeModuleAndGeneratedUnityFiles { get; set; } /// /// Whether to add additional information to the unity files, such as '_of_X' in the file name. Not recommended. /// [XmlConfigFile(Category = "BuildConfiguration")] [Obsolete("Deprecated in UE5.6 - Caused unnecessary rebuilds when generated unity files change")] public bool bDetailedUnityFiles { get; set; } /// /// Whether to use the :FASTLINK option when building with /DEBUG to create local PDBs on Windows. No longer recommended. /// [Obsolete("Deprecated in UE5.7 - No longer recommended")] public bool? bUseFastPDBLinking { get; set; } /// /// Whether to globally disable debug info generation; Obsolete, please use TargetRules.DebugInfoMode instead /// [XmlConfigFile(Category = "BuildConfiguration", Deprecated = true)] [Obsolete("Deprecated in UE5.4 - Replace with TargetRules.DebugInfo")] public bool bDisableDebugInfo { get => DebugInfo == DebugInfoMode.None; set => DebugInfo = value ? DebugInfo = DebugInfoMode.None : DebugInfo = DebugInfoMode.Full; } /// /// Generate dependency files by preprocessing. Obsolete. /// [Obsolete("Deprecated in UE5.6 - bPreprocessDepends is no longer supported")] public bool bPreprocessDepends { get; set; } /// /// Whether to enable support for C++20 coroutines /// This option is provided to facilitate evaluation of the feature. /// Expect the name of the option to change. Use of coroutines in with UE is untested and unsupported. /// [Obsolete("CppCoroutines are not supported")] public bool bEnableCppCoroutinesForEvaluation { get; set; } /// /// If true, then enable memory profiling in the build (defines USE_MALLOC_PROFILER=1 and forces bOmitFramePointers=false). /// [Obsolete("Deprecated in UE5.3 - No longer used as MallocProfiler is removed in favor of UnrealInsights.")] public bool bUseMallocProfiler { get; set; } /// /// Disable supports for inlining gen.cpps /// [Obsolete("Deprecated in UE5.3 - the engine code relies on inlining generated cpp files to compile")] public bool bDisableInliningGenCpps { get; set; } /// /// How to treat conflicts when a disabled plugin is being enabled by another plugin referencing it /// [Obsolete("Deprecated in UE5.6 - Replace with TargetRules.CppCompileWarningSettings.DisablePluginsConflictWarningLevel")] public WarningLevel DisablePluginsConflictWarningLevel { get => CppCompileWarningSettings.DisablePluginsConflictWarningLevel; set => CppCompileWarningSettings.DisablePluginsConflictWarningLevel = value; } /// /// Level to report deprecation warnings as errors /// [Obsolete("Deprecated in UE5.6 - Replace with TargetRules.CppCompileWarningSettings.DeprecationWarningLevel")] public WarningLevel DeprecationWarningLevel { get => CppCompileWarningSettings.DeprecationWarningLevel; set => CppCompileWarningSettings.DeprecationWarningLevel = value; } /// /// Forces shadow variable warnings to be treated as errors on platforms that support it. /// [Obsolete("Deprecated in UE5.6 - Replace with TargetRules.CppCompileWarningSettings.ShadowVariableWarningLevel")] public WarningLevel ShadowVariableWarningLevel { get => CppCompileWarningSettings.ShadowVariableWarningLevel; set => CppCompileWarningSettings.ShadowVariableWarningLevel = value; } /// /// Indicates what warning/error level to treat unsafe type casts as on platforms that support it (e.g., double->float or int64->int32) /// [Obsolete("Deprecated in UE5.6 - Replace with TargetRules.CppCompileWarningSettings.UnsafeTypeCastWarningLevel")] public WarningLevel UnsafeTypeCastWarningLevel { get => CppCompileWarningSettings.UnsafeTypeCastWarningLevel; set => CppCompileWarningSettings.UnsafeTypeCastWarningLevel = value; } /// /// Forces the use of undefined identifiers in conditional expressions to be treated as errors. /// [XmlConfigFile(Category = "BuildConfiguration", Deprecated = true)] [Obsolete("Deprecated in UE5.5 - Replace with TargetRules.UndefinedIdentifierWarningLevel")] public bool bUndefinedIdentifierErrors { get; set; } = true; /// /// Indicates what warning/error level to treat undefined identifiers in conditional expressions. /// [Obsolete("Deprecated in UE5.6 - Replace with TargetRules.CppCompileWarningSettings.UndefinedIdentifierWarningLevel")] public WarningLevel UndefinedIdentifierWarningLevel { get => CppCompileWarningSettings.UndefinedIdentifierWarningLevel; set => CppCompileWarningSettings.UndefinedIdentifierWarningLevel = value; } /// /// Indicates what warning/error level to treat potential PCH performance issues. /// [Obsolete("Deprecated in UE5.6 - Replace with TargetRules.CppCompileWarningSettings.PCHPerformanceIssueWarningLevel")] public WarningLevel PCHPerformanceIssueWarningLevel { get => CppCompileWarningSettings.PCHPerformanceIssueWarningLevel; set => CppCompileWarningSettings.PCHPerformanceIssueWarningLevel = value; } /// /// How to treat general module include path validation messages /// [Obsolete("Deprecated in UE5.6 - Replace with TargetRules.CppCompileWarningSettings.ModuleIncludePathWarningLevel")] public WarningLevel ModuleIncludePathWarningLevel { get => CppCompileWarningSettings.ModuleIncludePathWarningLevel; set => CppCompileWarningSettings.ModuleIncludePathWarningLevel = value; } /// /// How to treat private module include path validation messages, where a module is adding an include path that exposes private headers /// [Obsolete("Deprecated in UE5.6 - Replace with TargetRules.CppCompileWarningSettings.ModuleIncludePrivateWarningLevel")] public WarningLevel ModuleIncludePrivateWarningLevel { get => CppCompileWarningSettings.ModuleIncludePrivateWarningLevel; set => CppCompileWarningSettings.ModuleIncludePrivateWarningLevel = value; } /// /// How to treat unnecessary module sub-directory include path validation messages /// [Obsolete("Deprecated in UE5.6 - Replace with TargetRules.CppCompileWarningSettings.ModuleIncludeSubdirectoryWarningLevel")] public WarningLevel ModuleIncludeSubdirectoryWarningLevel { get => CppCompileWarningSettings.ModuleIncludeSubdirectoryWarningLevel; set => CppCompileWarningSettings.ModuleIncludeSubdirectoryWarningLevel = value; } } }