/** Copy constructor. */ public CPPEnvironmentConfiguration(CPPEnvironmentConfiguration InCopyEnvironment) : base(InCopyEnvironment) { OutputDirectory = InCopyEnvironment.OutputDirectory; LocalShadowDirectory = InCopyEnvironment.LocalShadowDirectory; PCHHeaderNameInCode = InCopyEnvironment.PCHHeaderNameInCode; PrecompiledHeaderIncludeFilename = InCopyEnvironment.PrecompiledHeaderIncludeFilename; PrecompiledHeaderAction = InCopyEnvironment.PrecompiledHeaderAction; bForceIncludePrecompiledHeader = InCopyEnvironment.bForceIncludePrecompiledHeader; bUseRTTI = InCopyEnvironment.bUseRTTI; bFasterWithoutUnity = InCopyEnvironment.bFasterWithoutUnity; MinFilesUsingPrecompiledHeaderOverride = InCopyEnvironment.MinFilesUsingPrecompiledHeaderOverride; bEnableExceptions = InCopyEnvironment.bEnableExceptions; OptimizeCode = InCopyEnvironment.OptimizeCode; bCreateDebugInfo = InCopyEnvironment.bCreateDebugInfo; bIsBuildingLibrary = InCopyEnvironment.bIsBuildingLibrary; bIsBuildingDLL = InCopyEnvironment.bIsBuildingDLL; bUseStaticCRT = InCopyEnvironment.bUseStaticCRT; CLRMode = InCopyEnvironment.CLRMode; CPPIncludeInfo.IncludePaths.UnionWith(InCopyEnvironment.CPPIncludeInfo.IncludePaths); CPPIncludeInfo.SystemIncludePaths.UnionWith(InCopyEnvironment.CPPIncludeInfo.SystemIncludePaths); SystemDotNetAssemblyPaths.AddRange(InCopyEnvironment.SystemDotNetAssemblyPaths); FrameworkAssemblyDependencies.AddRange(InCopyEnvironment.FrameworkAssemblyDependencies); PrivateAssemblyDependencies.AddRange(InCopyEnvironment.PrivateAssemblyDependencies); Definitions.AddRange(InCopyEnvironment.Definitions); AdditionalArguments = InCopyEnvironment.AdditionalArguments; AdditionalFrameworks.AddRange(InCopyEnvironment.AdditionalFrameworks); }
public PrecompileHeaderEnvironment(string InitModuleName, string InitPCHHeaderNameInCode, FileItem InitPrecompiledHeaderIncludeFilename, CPPCLRMode InitCLRMode, ModuleRules.CodeOptimization InitOptimizeCode) { ModuleName = InitModuleName; PCHHeaderNameInCode = InitPCHHeaderNameInCode; PrecompiledHeaderIncludeFilename = InitPrecompiledHeaderIncludeFilename; CLRMode = InitCLRMode; OptimizeCode = InitOptimizeCode; }
public void SetOptimizeCode(ModuleRules.CodeOptimization OptimizeCode) { bool bDebugBuild = Utils.BuildPlatform.IsDebugBuild(); bool bShippingBuild = Utils.BuildPlatform.IsShippingBuild(); Utils.Module.OptimizeCode = OptimizeCode; switch (OptimizeCode) { case ModuleRules.CodeOptimization.Never: Utils.Log.Info("Disabling code optimization..."); break; case ModuleRules.CodeOptimization.InNonDebugBuilds: if (bDebugBuild) { Utils.Log.Info("Debug build detected; disabling code optimization..."); } else { Utils.Log.Info("Non-debug build detected; enabling code optimization..."); } break; case ModuleRules.CodeOptimization.InShippingBuildsOnly: if (bShippingBuild) { Utils.Log.Info("Shipping build detected; enabling code optimization..."); } else { Utils.Log.Info("Non-shipping build detected; disabling code optimization..."); } break; case ModuleRules.CodeOptimization.Always: Utils.Log.Info("Enabling code optimization..."); break; case ModuleRules.CodeOptimization.Default: if (bDebugBuild) { Utils.Log.Info("Debug build detected; disabling code optimization for game modules..."); } else { Utils.Log.Info("Non-debug build detected; enabling code optimization for game modules..."); } break; default: Utils.Log.Warning("Unknown code optimization settings: '{0}'!", OptimizeCode.ToString()); break; } }
public UEBuildModuleCPP( UEBuildTarget InTarget, string InName, UEBuildModuleType InType, string InModuleDirectory, string InGeneratedCodeDirectory, bool? InIsRedistributableOverride, IntelliSenseGatherer InIntelliSenseGatherer, IEnumerable<FileItem> InSourceFiles, IEnumerable<string> InPublicIncludePaths, IEnumerable<string> InPublicSystemIncludePaths, IEnumerable<string> InPublicLibraryPaths, IEnumerable<string> InDefinitions, IEnumerable<string> InPublicIncludePathModuleNames, IEnumerable<string> InPublicDependencyModuleNames, IEnumerable<string> InPublicDelayLoadDLLs, IEnumerable<string> InPublicAdditionalLibraries, IEnumerable<string> InPublicFrameworks, IEnumerable<string> InPublicWeakFrameworks, IEnumerable<UEBuildFramework> InPublicAdditionalFrameworks, IEnumerable<string> InPublicAdditionalShadowFiles, IEnumerable<UEBuildBundleResource> InPublicAdditionalBundleResources, IEnumerable<string> InPrivateIncludePaths, IEnumerable<string> InPrivateIncludePathModuleNames, IEnumerable<string> InPrivateDependencyModuleNames, IEnumerable<string> InCircularlyReferencedDependentModules, IEnumerable<string> InDynamicallyLoadedModuleNames, IEnumerable<string> InPlatformSpecificDynamicallyLoadedModuleNames, IEnumerable<RuntimeDependency> InRuntimeDependencies, ModuleRules.CodeOptimization InOptimizeCode, bool InAllowSharedPCH, string InSharedPCHHeaderFile, bool InUseRTTI, bool InEnableBufferSecurityChecks, bool InFasterWithoutUnity, int InMinFilesUsingPrecompiledHeaderOverride, bool InBuildLocallyWithSNDBS, bool InEnableExceptions, bool InEnableShadowVariableWarnings, bool bInBuildSourceFiles, string InBuildCsFilename, bool bInUseAVX ) : base(InTarget, InName, InType, InModuleDirectory, InIsRedistributableOverride, InDefinitions, InPublicIncludePaths, InPublicSystemIncludePaths, InPublicLibraryPaths, InPublicAdditionalLibraries, InPublicFrameworks, InPublicWeakFrameworks, InPublicAdditionalFrameworks, InPublicAdditionalShadowFiles, InPublicAdditionalBundleResources, InPublicIncludePathModuleNames, InPublicDependencyModuleNames, InPublicDelayLoadDLLs, InPrivateIncludePaths, InPrivateIncludePathModuleNames, InPrivateDependencyModuleNames, InCircularlyReferencedDependentModules, InDynamicallyLoadedModuleNames, InPlatformSpecificDynamicallyLoadedModuleNames, InRuntimeDependencies, InBuildCsFilename) { GeneratedCodeDirectory = InGeneratedCodeDirectory; IntelliSenseGatherer = InIntelliSenseGatherer; CategorizeSourceFiles(InSourceFiles, SourceFilesFound); if (bInBuildSourceFiles) { SourceFilesToBuild.CopyFrom(SourceFilesFound); } Definitions = HashSetFromOptionalEnumerableStringParameter(InDefinitions); foreach (var Def in Definitions) { Log.TraceVerbose("Compile Env {0}: {1}", Name, Def); } OptimizeCode = InOptimizeCode; bAllowSharedPCH = InAllowSharedPCH; SharedPCHHeaderFile = InSharedPCHHeaderFile; bUseRTTI = InUseRTTI; bUseAVX = bInUseAVX; bEnableBufferSecurityChecks = InEnableBufferSecurityChecks; bFasterWithoutUnity = InFasterWithoutUnity; MinFilesUsingPrecompiledHeaderOverride = InMinFilesUsingPrecompiledHeaderOverride; bBuildLocallyWithSNDBS = InBuildLocallyWithSNDBS; bEnableExceptions = InEnableExceptions; bEnableShadowVariableWarnings = InEnableShadowVariableWarnings; }
/** Copy constructor. */ public CPPEnvironmentConfiguration(CPPEnvironmentConfiguration InCopyEnvironment) : base(InCopyEnvironment) { OutputDirectory = InCopyEnvironment.OutputDirectory; LocalShadowDirectory = InCopyEnvironment.LocalShadowDirectory; PCHHeaderNameInCode = InCopyEnvironment.PCHHeaderNameInCode; PrecompiledHeaderIncludeFilename = InCopyEnvironment.PrecompiledHeaderIncludeFilename; PrecompiledHeaderAction = InCopyEnvironment.PrecompiledHeaderAction; bForceIncludePrecompiledHeader = InCopyEnvironment.bForceIncludePrecompiledHeader; bUseRTTI = InCopyEnvironment.bUseRTTI; bFasterWithoutUnity = InCopyEnvironment.bFasterWithoutUnity; MinFilesUsingPrecompiledHeaderOverride = InCopyEnvironment.MinFilesUsingPrecompiledHeaderOverride; bEnableExceptions = InCopyEnvironment.bEnableExceptions; bEnableShadowVariableWarning = InCopyEnvironment.bEnableShadowVariableWarning; OptimizeCode = InCopyEnvironment.OptimizeCode; bCreateDebugInfo = InCopyEnvironment.bCreateDebugInfo; bIsBuildingLibrary = InCopyEnvironment.bIsBuildingLibrary; bIsBuildingDLL = InCopyEnvironment.bIsBuildingDLL; bUseStaticCRT = InCopyEnvironment.bUseStaticCRT; CLRMode = InCopyEnvironment.CLRMode; CPPIncludeInfo.IncludePaths .UnionWith(InCopyEnvironment.CPPIncludeInfo.IncludePaths); CPPIncludeInfo.SystemIncludePaths .UnionWith(InCopyEnvironment.CPPIncludeInfo.SystemIncludePaths); SystemDotNetAssemblyPaths .AddRange(InCopyEnvironment.SystemDotNetAssemblyPaths); FrameworkAssemblyDependencies.AddRange(InCopyEnvironment.FrameworkAssemblyDependencies); PrivateAssemblyDependencies .AddRange(InCopyEnvironment.PrivateAssemblyDependencies); Definitions .AddRange(InCopyEnvironment.Definitions); AdditionalArguments = InCopyEnvironment.AdditionalArguments; AdditionalFrameworks .AddRange(InCopyEnvironment.AdditionalFrameworks); }
/** Copy constructor. */ public CPPEnvironmentConfiguration(CPPEnvironmentConfiguration InCopyEnvironment) { OutputDirectory = InCopyEnvironment.OutputDirectory; LocalShadowDirectory = InCopyEnvironment.LocalShadowDirectory; PCHHeaderNameInCode = InCopyEnvironment.PCHHeaderNameInCode; PrecompiledHeaderIncludeFilename = InCopyEnvironment.PrecompiledHeaderIncludeFilename; PrecompiledHeaderAction = InCopyEnvironment.PrecompiledHeaderAction; bForceIncludePrecompiledHeader = InCopyEnvironment.bForceIncludePrecompiledHeader; TargetPlatform = InCopyEnvironment.TargetPlatform; TargetArchitecture = InCopyEnvironment.TargetArchitecture; TargetConfiguration = InCopyEnvironment.TargetConfiguration; bUseRTTI = InCopyEnvironment.bUseRTTI; bFasterWithoutUnity = InCopyEnvironment.bFasterWithoutUnity; MinFilesUsingPrecompiledHeaderOverride = InCopyEnvironment.MinFilesUsingPrecompiledHeaderOverride; bEnableExceptions = InCopyEnvironment.bEnableExceptions; bEnableInlining = InCopyEnvironment.bEnableInlining; OptimizeCode = InCopyEnvironment.OptimizeCode; bCreateDebugInfo = InCopyEnvironment.bCreateDebugInfo; bIsBuildingLibrary = InCopyEnvironment.bIsBuildingLibrary; bIsBuildingDLL = InCopyEnvironment.bIsBuildingDLL; CLRMode = InCopyEnvironment.CLRMode; IncludePaths .AddRange(InCopyEnvironment.IncludePaths); SystemIncludePaths .AddRange(InCopyEnvironment.SystemIncludePaths); SystemDotNetAssemblyPaths .AddRange(InCopyEnvironment.SystemDotNetAssemblyPaths); FrameworkAssemblyDependencies.AddRange(InCopyEnvironment.FrameworkAssemblyDependencies); PrivateAssemblyDependencies .AddRange(InCopyEnvironment.PrivateAssemblyDependencies); Definitions .AddRange(InCopyEnvironment.Definitions); AdditionalArguments = InCopyEnvironment.AdditionalArguments; }
public UEBuildModuleCPP( UEBuildTarget InTarget, string InName, UEBuildModuleType InType, string InModuleDirectory, string InOutputDirectory, IntelliSenseGatherer InIntelliSenseGatherer, IEnumerable<FileItem> InSourceFiles, IEnumerable<string> InPublicIncludePaths, IEnumerable<string> InPublicSystemIncludePaths, IEnumerable<string> InDefinitions, IEnumerable<string> InPublicIncludePathModuleNames, IEnumerable<string> InPublicDependencyModuleNames, IEnumerable<string> InPublicDelayLoadDLLs, IEnumerable<string> InPublicAdditionalLibraries, IEnumerable<string> InPublicFrameworks, IEnumerable<string> InPublicAdditionalFrameworks, IEnumerable<string> InPrivateIncludePaths, IEnumerable<string> InPrivateIncludePathModuleNames, IEnumerable<string> InPrivateDependencyModuleNames, IEnumerable<string> InCircularlyReferencedDependentModules, IEnumerable<string> InDynamicallyLoadedModuleNames, IEnumerable<string> InPlatformSpecificDynamicallyLoadedModuleNames, ModuleRules.CodeOptimization InOptimizeCode, bool InAllowSharedPCH, string InSharedPCHHeaderFile, bool InUseRTTI, bool InEnableBufferSecurityChecks, bool InFasterWithoutUnity, int InMinFilesUsingPrecompiledHeaderOverride, bool InEnableExceptions, bool InEnableInlining ) : base(InTarget, InName, InType, InModuleDirectory, InOutputDirectory, InDefinitions, InPublicIncludePaths, InPublicSystemIncludePaths, null, InPublicAdditionalLibraries, InPublicFrameworks, InPublicAdditionalFrameworks, null, InPublicIncludePathModuleNames, InPublicDependencyModuleNames, InPublicDelayLoadDLLs, InPrivateIncludePaths, InPrivateIncludePathModuleNames, InPrivateDependencyModuleNames, InCircularlyReferencedDependentModules, InDynamicallyLoadedModuleNames, InPlatformSpecificDynamicallyLoadedModuleNames) { IntelliSenseGatherer = InIntelliSenseGatherer; SourceFiles = new List<FileItem>( InSourceFiles ); Definitions = ListFromOptionalEnumerableStringParameter(InDefinitions); foreach (var Def in Definitions) { Log.TraceVerbose("Compile Env {0}: {1}", Name, Def); } OptimizeCode = InOptimizeCode; bAllowSharedPCH = InAllowSharedPCH; SharedPCHHeaderFile = InSharedPCHHeaderFile; bUseRTTI = InUseRTTI; bEnableBufferSecurityChecks = InEnableBufferSecurityChecks; bFasterWithoutUnity = InFasterWithoutUnity; MinFilesUsingPrecompiledHeaderOverride = InMinFilesUsingPrecompiledHeaderOverride; bEnableExceptions = InEnableExceptions; bEnableInlining = InEnableInlining; }