Example #1
0
        /** Copy constructor. */
        protected LinkEnvironment(LinkEnvironment InCopyEnvironment)
        {
            InputFiles.AddRange(InCopyEnvironment.InputFiles);
            InputLibraries.AddRange(InCopyEnvironment.InputLibraries);

            Config = new LinkEnvironmentConfiguration(InCopyEnvironment.Config);
        }
Example #2
0
 /** Copy constructor. */
 public LinkEnvironmentConfiguration(LinkEnvironmentConfiguration InCopyEnvironment) :
     base(InCopyEnvironment)
 {
     OutputDirectory       = InCopyEnvironment.OutputDirectory;
     IntermediateDirectory = InCopyEnvironment.IntermediateDirectory;
     LocalShadowDirectory  = InCopyEnvironment.LocalShadowDirectory;
     OutputFilePaths       = InCopyEnvironment.OutputFilePaths != null ? (string[])InCopyEnvironment.OutputFilePaths.Clone() : null;
     LibraryPaths.AddRange(InCopyEnvironment.LibraryPaths);
     ExcludedLibraries.AddRange(InCopyEnvironment.ExcludedLibraries);
     AdditionalLibraries.AddRange(InCopyEnvironment.AdditionalLibraries);
     Frameworks.AddRange(InCopyEnvironment.Frameworks);
     AdditionalShadowFiles.AddRange(InCopyEnvironment.AdditionalShadowFiles);
     AdditionalFrameworks.AddRange(InCopyEnvironment.AdditionalFrameworks);
     WeakFrameworks.AddRange(InCopyEnvironment.WeakFrameworks);
     AdditionalBundleResources.AddRange(InCopyEnvironment.AdditionalBundleResources);
     DelayLoadDLLs.AddRange(InCopyEnvironment.DelayLoadDLLs);
     AdditionalArguments                = InCopyEnvironment.AdditionalArguments;
     bCreateDebugInfo                   = InCopyEnvironment.bCreateDebugInfo;
     CLRMode                            = InCopyEnvironment.CLRMode;
     bIsBuildingLibrary                 = InCopyEnvironment.bIsBuildingLibrary;
     bIsBuildingDLL                     = InCopyEnvironment.bIsBuildingDLL;
     bIsBuildingConsoleApplication      = InCopyEnvironment.bIsBuildingConsoleApplication;
     bBuildAdditionalConsoleApplication = InCopyEnvironment.bBuildAdditionalConsoleApplication;
     WindowsEntryPointOverride          = InCopyEnvironment.WindowsEntryPointOverride;
     bIsCrossReferenced                 = InCopyEnvironment.bIsCrossReferenced;
     bHasExports                        = InCopyEnvironment.bHasExports;
     bIsBuildingDotNetAssembly          = InCopyEnvironment.bIsBuildingDotNetAssembly;
 }
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
    {
        // Lean and mean
        //UEBuildConfiguration.bCompileLeanAndMeanUE = true;

        // Never use malloc profiling in Unreal Header Tool.  We set this because often UHT is compiled right before the engine
        // automatically by Unreal Build Tool, but if bUseMallocProfiler is defined, UHT can operate incorrectly.
        BuildConfiguration.bUseMallocProfiler = false;

        // No editor needed
        UEBuildConfiguration.bBuildEditor = false;
        // Editor-only data, however, is needed
        UEBuildConfiguration.bBuildWithEditorOnlyData = true;

        // Currently this app is not linking against the engine, so we'll compile out references from Core to the rest of the engine
        UEBuildConfiguration.bCompileAgainstEngine = false;
        UEBuildConfiguration.bCompileAgainstCoreUObject = true;
        UEBuildConfiguration.bForceBuildTargetPlatforms = true;
        UEBuildConfiguration.bCompileWithStatsWithoutEngine = true;
        UEBuildConfiguration.bCompileWithPluginSupport = true;

        OutLinkEnvironmentConfiguration.bHasExports = false;
    }
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
	{
		UEBuildConfiguration.bCompileLeanAndMeanUE = true;

		// Don't need editor
		UEBuildConfiguration.bBuildEditor = false;

		// CrashReportClient doesn't ever compile with the engine linked in
		UEBuildConfiguration.bCompileAgainstEngine = false;
		UEBuildConfiguration.bCompileAgainstCoreUObject = true;
		UEBuildConfiguration.bUseLoggingInShipping = true;

		UEBuildConfiguration.bIncludeADO = false;
		
		// Do not include ICU for Linux (this is a temporary workaround, separate headless CrashReportClient target should be created, see UECORE-14 for details).
		if (Target.Platform == UnrealTargetPlatform.Linux)
		{
			UEBuildConfiguration.bCompileICU = false;
		}

		// CrashReportClient.exe has no exports, so no need to verify that a .lib and .exp file was emitted by
		// the linker.
		OutLinkEnvironmentConfiguration.bHasExports = false;

		UEBuildConfiguration.bUseChecksInShipping = true;

		// Epic Games Launcher needs to run on OS X 10.9, so CrashReportClient needs this as well
		OutCPPEnvironmentConfiguration.bEnableOSX109Support = true;
	}
	public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
	{
		// Lean and mean
		UEBuildConfiguration.bCompileLeanAndMeanUE = true;

		// Never use malloc profiling in Unreal Header Tool.  We set this because often UHT is compiled right before the engine
		// automatically by Unreal Build Tool, but if bUseMallocProfiler is defined, UHT can operate incorrectly.
		BuildConfiguration.bUseMallocProfiler = false;

		// No editor needed
		UEBuildConfiguration.bBuildEditor = false;
		// Editor-only data, however, is needed
		UEBuildConfiguration.bBuildWithEditorOnlyData = true;

		// Currently this app is not linking against the engine, so we'll compile out references from Core to the rest of the engine
		UEBuildConfiguration.bCompileAgainstEngine = false;

		// Force execption handling across all modules.
		UEBuildConfiguration.bForceEnableExceptions = true;

		// Plugin support
		UEBuildConfiguration.bCompileWithPluginSupport = true;
		UEBuildConfiguration.bBuildDeveloperTools = true;

		// UnrealHeaderTool is a console application, not a Windows app (sets entry point to main(), instead of WinMain())
		OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;

		OutCPPEnvironmentConfiguration.Definitions.Add("HACK_HEADER_GENERATOR=1");
	}
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
    {
        // Turn off various third party features we don't need

        // Currently we force Lean and Mean mode
        UEBuildConfiguration.bCompileLeanAndMeanUE = true;

        // Currently this app is not linking against the engine, so we'll compile out references from Core to the rest of the engine
        UEBuildConfiguration.bCompileAgainstEngine = false;
        UEBuildConfiguration.bCompileAgainstCoreUObject = false;
        UEBuildConfiguration.bBuildWithEditorOnlyData = true;

        // Never use malloc profiling in CEFSubProcess.
        BuildConfiguration.bUseMallocProfiler = false;

        // Force all shader formats to be built and included.
        //UEBuildConfiguration.bForceBuildShaderFormats = true;

        // CEFSubProcess is a console application, not a Windows app (sets entry point to main(), instead of WinMain())
        OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = false;

        // Do NOT produce additional console app exe
        OutLinkEnvironmentConfiguration.bBuildAdditionalConsoleApplication = false;

        // Disable logging, as the sub processes are spawned often and logging will just slow them down
        OutCPPEnvironmentConfiguration.Definitions.Add("ALLOW_LOG_FILE=0");
    }
		public override void SetupDefaultGlobalEnvironment(
			TargetInfo Target,
			ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
			ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
			)
		{
			UEBuildConfiguration.bCompileLeanAndMeanUE = true;

			// Do not include the editor
			UEBuildConfiguration.bBuildEditor = false;
			UEBuildConfiguration.bBuildWithEditorOnlyData = false;

			// Require cooked data
			UEBuildConfiguration.bBuildRequiresCookedData = true;

			// Compile the engine
			UEBuildConfiguration.bCompileAgainstEngine = true;

			// Tag it as a 'Game' build
			OutCPPEnvironmentConfiguration.Definitions.Add("UE_GAME=1");

			// no exports, so no need to verify that a .lib and .exp file was emitted by the linker.
			OutLinkEnvironmentConfiguration.bHasExports = false;

			// Disable server code
			UEBuildConfiguration.bWithServerCode = false;
		}
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
    {
        OutCPPEnvironmentConfiguration.Definitions.Add("WITH_DATABASE_SUPPORT=1");

        UEBuildConfiguration.bCompileLeanAndMeanUE = true;

        // Don't need editor
        UEBuildConfiguration.bBuildEditor = false;

        // MinidumpDiagnostics doesn't ever compile with the engine linked in
        UEBuildConfiguration.bCompileAgainstEngine = false;

        UEBuildConfiguration.bIncludeADO = true;

        // MinidumpDiagnostics.exe has no exports, so no need to verify that a .lib and .exp file was emitted by the linker.
        OutLinkEnvironmentConfiguration.bHasExports = false;

        // Do NOT produce additional console app exe
        OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;

        OutCPPEnvironmentConfiguration.Definitions.Add("MINIDUMPDIAGNOSTICS=1");
    }
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
    {
        UEBuildConfiguration.bCompileNetworkProfiler = false;

        UEBuildConfiguration.bCompileLeanAndMeanUE = true;

        // Don't need editor
        UEBuildConfiguration.bBuildEditor = false;

        // CrashReportClient doesn't ever compile with the engine linked in
        UEBuildConfiguration.bCompileAgainstEngine = false;
        UEBuildConfiguration.bCompileAgainstCoreUObject = false;

        UEBuildConfiguration.bIncludeADO = (Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.Win32);

        // CrashReportClient.exe has no exports, so no need to verify that a .lib and .exp file was emitted by
        // the linker.
        OutLinkEnvironmentConfiguration.bHasExports = false;

        // Do NOT produce additional console app exe
        OutLinkEnvironmentConfiguration.bBuildAdditionalConsoleApplication = false;

        if (UnrealBuildTool.UnrealBuildTool.BuildingRocket())
        {
            // Tag it as a Rocket build
            OutCPPEnvironmentConfiguration.Definitions.Add("UE_ROCKET=1");
        }
    }
Example #10
0
 /// <summary>
 /// Copy constructor.
 /// </summary>
 public LinkEnvironmentConfiguration(LinkEnvironmentConfiguration InCopyEnvironment)
 {
     Platform              = InCopyEnvironment.Platform;
     Configuration         = InCopyEnvironment.Configuration;
     Architecture          = InCopyEnvironment.Architecture;
     OutputDirectory       = InCopyEnvironment.OutputDirectory;
     IntermediateDirectory = InCopyEnvironment.IntermediateDirectory;
     LocalShadowDirectory  = InCopyEnvironment.LocalShadowDirectory;
     OutputFilePaths       = InCopyEnvironment.OutputFilePaths.ToList();
     ProjectFile           = InCopyEnvironment.ProjectFile;
     LibraryPaths.AddRange(InCopyEnvironment.LibraryPaths);
     ExcludedLibraries.AddRange(InCopyEnvironment.ExcludedLibraries);
     AdditionalLibraries.AddRange(InCopyEnvironment.AdditionalLibraries);
     Frameworks.AddRange(InCopyEnvironment.Frameworks);
     AdditionalShadowFiles.AddRange(InCopyEnvironment.AdditionalShadowFiles);
     AdditionalFrameworks.AddRange(InCopyEnvironment.AdditionalFrameworks);
     WeakFrameworks.AddRange(InCopyEnvironment.WeakFrameworks);
     AdditionalBundleResources.AddRange(InCopyEnvironment.AdditionalBundleResources);
     DelayLoadDLLs.AddRange(InCopyEnvironment.DelayLoadDLLs);
     AdditionalArguments           = InCopyEnvironment.AdditionalArguments;
     bCreateDebugInfo              = InCopyEnvironment.bCreateDebugInfo;
     bIsBuildingLibrary            = InCopyEnvironment.bIsBuildingLibrary;
     bIsBuildingDLL                = InCopyEnvironment.bIsBuildingDLL;
     bIsBuildingConsoleApplication = InCopyEnvironment.bIsBuildingConsoleApplication;
     WindowsEntryPointOverride     = InCopyEnvironment.WindowsEntryPointOverride;
     bIsCrossReferenced            = InCopyEnvironment.bIsCrossReferenced;
     bHasExports = InCopyEnvironment.bHasExports;
     bIsBuildingDotNetAssembly = InCopyEnvironment.bIsBuildingDotNetAssembly;
 }
	public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
	{
		OutCPPEnvironmentConfiguration.Definitions.Add("WITH_DATABASE_SUPPORT=1");

		UEBuildConfiguration.bCompileLeanAndMeanUE = true;

		// Don't need editor
		UEBuildConfiguration.bBuildEditor = false;

		// SymbolDebugger doesn't ever compile with the engine linked in
		UEBuildConfiguration.bCompileAgainstEngine = false;
		UEBuildConfiguration.bCompileAgainstCoreUObject = true;

		UEBuildConfiguration.bIncludeADO = true;

		// SymbolDebugger.exe has no exports, so no need to verify that a .lib and .exp file was emitted by
		// the linker.
		OutLinkEnvironmentConfiguration.bHasExports = false;

		// Do NOT produce additional console app exe
		OutLinkEnvironmentConfiguration.bBuildAdditionalConsoleApplication = false;
	}
	public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
	{
		UEBuildConfiguration.bCompileLeanAndMeanUE = true;

		// Don't need editor
		UEBuildConfiguration.bBuildEditor = false;

		// CrashReportClient doesn't ever compile with the engine linked in
		UEBuildConfiguration.bCompileAgainstEngine = false;
		UEBuildConfiguration.bCompileAgainstCoreUObject = true;
		UEBuildConfiguration.bUseLoggingInShipping = true;
		UEBuildConfiguration.bCompileSteamOSS = false;

		UEBuildConfiguration.bIncludeADO = false;
		
		// Do not include ICU for Linux (this is a temporary workaround, separate headless CrashReportClient target should be created, see UECORE-14 for details).
		if (Target.Platform == UnrealTargetPlatform.Linux)
		{
			UEBuildConfiguration.bCompileICU = false;
		}

		// CrashReportClient.exe has no exports, so no need to verify that a .lib and .exp file was emitted by
		// the linker.
		OutLinkEnvironmentConfiguration.bHasExports = false;

		// Do NOT produce additional console app exe
		OutLinkEnvironmentConfiguration.bBuildAdditionalConsoleApplication = false;

		OutCPPEnvironmentConfiguration.Definitions.Add( "USE_CHECKS_IN_SHIPPING=1" );
	}
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
    {
        UEBuildConfiguration.bCompileNetworkProfiler = false;

        // Lean and mean
        UEBuildConfiguration.bCompileLeanAndMeanUE = true;

        // Never use malloc profiling in Unreal Header Tool.  We set this because often UHT is compiled right before the engine
        // automatically by Unreal Build Tool, but if bUseMallocProfiler is defined, UHT can operate incorrectly.
        BuildConfiguration.bUseMallocProfiler = false;

        // No editor needed
        UEBuildConfiguration.bBuildEditor = false;
        // Editor-only data, however, is needed
        UEBuildConfiguration.bBuildWithEditorOnlyData = true;

        // Currently this app is not linking against the engine, so we'll compile out references from Core to the rest of the engine
        UEBuildConfiguration.bCompileAgainstEngine = false;
        UEBuildConfiguration.bCompileAgainstCoreUObject = false;

        // UnrealHeaderTool is a console application, not a Windows app (sets entry point to main(), instead of WinMain())
        OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;
    }
Example #14
0
        public override void SetupDefaultGlobalEnvironment(
			TargetInfo Target,
			ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
			ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
			)
        {
            if (Target.Platform == UnrealTargetPlatform.Mac)
            {
                UEBuildConfiguration.bCompileNetworkProfiler = false;
            }
            else
            {
                UEBuildConfiguration.bCompileNetworkProfiler = true;
            }

            UEBuildConfiguration.bCompileLeanAndMeanUE = false;

            // Do not include the editor
            UEBuildConfiguration.bBuildEditor = true;
            UEBuildConfiguration.bBuildWithEditorOnlyData = true;

            // Require cooked data
            UEBuildConfiguration.bBuildRequiresCookedData = false;

            // Compile the engine
            UEBuildConfiguration.bCompileAgainstEngine = true;

            // Tag it as a 'Editor' build
            OutCPPEnvironmentConfiguration.Definitions.Add("UE_EDITOR=1");
        }
Example #15
0
 /// <summary>
 /// Setup the global environment for building this target
 /// IMPORTANT: Game targets will *not* have this function called if they use the shared build environment.
 /// See ShouldUseSharedBuildEnvironment().
 /// </summary>
 /// <param name="Target">The target information - such as platform and configuration</param>
 /// <param name="OutLinkEnvironmentConfiguration">Output link environment settings</param>
 /// <param name="OutCPPEnvironmentConfiguration">Output compile environment settings</param>
 public virtual void SetupGlobalEnvironment(
     TargetInfo Target,
     ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
     ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
     )
 {
 }
Example #16
0
        public override void SetupDefaultGlobalEnvironment(
            TargetInfo Target,
            ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
            ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
            )
        {
            UEBuildConfiguration.bCompileLeanAndMeanUE = true;

            // Do not include the editor
            UEBuildConfiguration.bBuildEditor             = false;
            UEBuildConfiguration.bBuildWithEditorOnlyData = false;

            // Require cooked data
            UEBuildConfiguration.bBuildRequiresCookedData = true;

            // Compile the engine
            UEBuildConfiguration.bCompileAgainstEngine = true;

            // Tag it as a 'Server' build
            OutCPPEnvironmentConfiguration.Definitions.Add("UE_SERVER=1");
            OutCPPEnvironmentConfiguration.Definitions.Add("USE_NULL_RHI=1");

            // no exports, so no need to verify that a .lib and .exp file was emitted by the linker.
            OutLinkEnvironmentConfiguration.bHasExports = false;
        }
	public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
	{
		// Turn off various third party features we don't need

		// Currently we force Lean and Mean mode
		UEBuildConfiguration.bCompileLeanAndMeanUE = true;

		// Currently this app is not linking against the engine, so we'll compile out references from Core to the rest of the engine
		UEBuildConfiguration.bCompileAgainstEngine = false;
		UEBuildConfiguration.bCompileAgainstCoreUObject = false;
		UEBuildConfiguration.bBuildWithEditorOnlyData = true;

		// Never use malloc profiling in ShaderCompileWorker.
		BuildConfiguration.bUseMallocProfiler = false;

		// Force all shader formats to be built and included.
        UEBuildConfiguration.bForceBuildShaderFormats = true;

		// ShaderCompileWorker is a console application, not a Windows app (sets entry point to main(), instead of WinMain())
		OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;

		// Disable logging, as the workers are spawned often and logging will just slow them down
		OutCPPEnvironmentConfiguration.Definitions.Add("ALLOW_LOG_FILE=0");

        // Linking against wer.lib/wer.dll causes XGE to bail when the worker is run on a Windows 8 machine, so turn this off.
        OutCPPEnvironmentConfiguration.Definitions.Add("ALLOW_WINDOWS_ERROR_REPORT_LIB=0");
	}
        /** Copy constructor. */
        public LinkEnvironment(LinkEnvironment InCopyEnvironment)
        {
            InputFiles.AddRange(InCopyEnvironment.InputFiles);
            InputLibraries.AddRange(InCopyEnvironment.InputLibraries);

            Config = new LinkEnvironmentConfiguration(InCopyEnvironment.Config);
        }
	public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
	{
	}
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
    {
        UEBuildConfiguration.bCompileLeanAndMeanUE = true;

        // Don't need editor
        UEBuildConfiguration.bBuildEditor = false;

        // SlateViewer doesn't ever compile with the engine linked in
        UEBuildConfiguration.bCompileAgainstEngine = false;

        // We need CoreUObject compiled in as the source code access module requires it
        UEBuildConfiguration.bCompileAgainstCoreUObject = true;

        UEBuildConfiguration.bCompileWithStatsWithoutEngine = true;

        // SlateViewer.exe has no exports, so no need to verify that a .lib and .exp file was emitted by
        // the linker.
        OutLinkEnvironmentConfiguration.bHasExports = false;

        // Do NOT produce additional console app exe
        OutLinkEnvironmentConfiguration.bBuildAdditionalConsoleApplication = false;
    }
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
    {
        if( UnrealBuildTool.UnrealBuildTool.BuildingRocket() )
        {
            UEBuildConfiguration.bCompileLeanAndMeanUE = true;

            // Don't need editor or editor only data
            UEBuildConfiguration.bBuildEditor = false;
            UEBuildConfiguration.bBuildWithEditorOnlyData = false;

            UEBuildConfiguration.bCompileAgainstEngine = true;

            // Tag it as a Rocket build
            OutCPPEnvironmentConfiguration.Definitions.Add("UE_ROCKET=1");

            // no exports, so no need to verify that a .lib and .exp file was emitted by the linker.
            OutLinkEnvironmentConfiguration.bHasExports = false;
        }
        else
        {
            // Tag it as a UE4Game build
            OutCPPEnvironmentConfiguration.Definitions.Add("UE4GAME=1");
        }
    }
	public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
	{
		// UnrealCodeAnalyzer is a console application, not a Windows app (sets entry point to main(), instead of WinMain())
		OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;

		// Lean and mean
		UEBuildConfiguration.bCompileLeanAndMeanUE = true;

		// No editor needed
		UEBuildConfiguration.bBuildEditor = false;

		// Do not link against CoreUObject
		UEBuildConfiguration.bCompileAgainstCoreUObject = false;

		// Currently this app is not linking against the engine, so we'll compile out references from Core to the rest of the engine
		UEBuildConfiguration.bCompileAgainstEngine = false;

		if (Target.Platform == UnrealTargetPlatform.Win32)
		{
			// Clean up some warnings issued by cl.exe when compiling llvm/clang source headers.
			StringBuilder ExtraArguments = new StringBuilder();

			// Unreferenced formal parameter.
			ExtraArguments.Append(" /wd4100");

			// Unary minus operator applied to unsigned type, result still unsigned.
			ExtraArguments.Append(" /wd4146");

			// Conversion from <type> to <type>, possible loss of data.
			ExtraArguments.Append(" /wd4244");

			// Conditional expression is constant.
			ExtraArguments.Append(" /wd4127");

			// Default constructor could not be generated.
			ExtraArguments.Append(" /wd4510");

			// Assignment operator could not be generated.
			ExtraArguments.Append(" /wd4512");

			// <struct> can never be instantiated - user defined constructor required.
			ExtraArguments.Append(" /wd4610");

			// Destructor could not be generated because a base class destructor is inaccessible or deleted.
			ExtraArguments.Append(" /wd4624");

			// Unreachable code.
			ExtraArguments.Append(" /wd4702");

			// Forcing value to bool 'true' or 'false' (performance warning).
			ExtraArguments.Append(" /wd4800");

			OutCPPEnvironmentConfiguration.AdditionalArguments += ExtraArguments.ToString();
		}
	}
 public override void SetupGlobalEnvironment(
     TargetInfo Target,
     ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
     ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
     )
 {
     UEBuildConfiguration.bForceEnableExceptions = true;
 }
 public override void SetupGlobalEnvironment(
     TargetInfo Target,
     ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
     ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
     )
 {
     UEBuildConfiguration.bCompileSteamOSS = false;
     UEBuildConfiguration.bCompileCEF3 = false;
 }
 public override void SetupGlobalEnvironment(
     TargetInfo Target,
     ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
     ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
     )
 {
     // Turn on shipping logging, this will only apply to monolithic builds
     UEBuildConfiguration.bUseLoggingInShipping = true;
     UEBuildConfiguration.bCompileSteamOSS = false;
     UEBuildConfiguration.bCompileCEF3 = false;
 }
	public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
	{
		UEBuildConfiguration.bCompileLeanAndMeanUE = true;
		UEBuildConfiguration.bBuildEditor = false;
		UEBuildConfiguration.bCompileAgainstEngine = false;

		OutLinkEnvironmentConfiguration.bHasExports = false;
	}
Example #27
0
	public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
	{
		if( UnrealBuildTool.UnrealBuildTool.BuildingRocket() )
		{ 
			// no exports, so no need to verify that a .lib and .exp file was emitted by the linker.
			OutLinkEnvironmentConfiguration.bHasExports = false;
		}
	}
	public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration)
	{
		UEBuildConfiguration.bBuildEditor = false;
		UEBuildConfiguration.bCompileAgainstEngine = false;
		UEBuildConfiguration.bCompileAgainstCoreUObject = false;
		UEBuildConfiguration.bCompileLeanAndMeanUE = true;
		UEBuildConfiguration.bUseLoggingInShipping = true;
		UEBuildConfiguration.bUseChecksInShipping = true;
		OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;
		OutLinkEnvironmentConfiguration.bHasExports = false;
	}
Example #29
0
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration)
    {
        UEBuildConfiguration.bBuildEditor = false;
        UEBuildConfiguration.bCompileAgainstEngine = false;
        UEBuildConfiguration.bCompileAgainstCoreUObject = true;
        UEBuildConfiguration.bForceBuildTargetPlatforms = true;
        UEBuildConfiguration.bCompileWithStatsWithoutEngine = true;
        UEBuildConfiguration.bCompileWithPluginSupport = true;

        OutLinkEnvironmentConfiguration.bHasExports = false;
    }
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration)
    {
        UEBuildConfiguration.bBuildEditor = false;
        UEBuildConfiguration.bCompileAgainstEngine = false;
        UEBuildConfiguration.bCompileAgainstCoreUObject = false;
        UEBuildConfiguration.bCompileLeanAndMeanUE = true;

        OutCPPEnvironmentConfiguration.Definitions.Add("WITH_BUILDPATCHGENERATION=1");

        OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;
        OutLinkEnvironmentConfiguration.bHasExports = false;
    }
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
    {
        BuildConfiguration.bUseUnityBuild = false;
        BuildConfiguration.bUseSharedPCHs = false;
        BuildConfiguration.bUseMallocProfiler = false;

        // Disable all parts of the editor
        UEBuildConfiguration.bCompileLeanAndMeanUE = true;
        UEBuildConfiguration.bCompileICU = false;
        UEBuildConfiguration.bBuildEditor = false;
        UEBuildConfiguration.bBuildWithEditorOnlyData = false;
        UEBuildConfiguration.bCompileAgainstEngine = false;
        UEBuildConfiguration.bCompileAgainstCoreUObject = false;
    }
Example #32
0
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
    {
        UEBuildConfiguration.bCompileLeanAndMeanUE = true;
        BuildConfiguration.bUseMallocProfiler = false;

        // No editor needed
        UEBuildConfiguration.bCompileICU = false;
        UEBuildConfiguration.bBuildEditor = false;
        // Editor-only data, however, is needed
        UEBuildConfiguration.bBuildWithEditorOnlyData = false;

        // Currently this app is not linking against the engine, so we'll compile out references from Core to the rest of the engine
        UEBuildConfiguration.bCompileAgainstEngine = false;
        UEBuildConfiguration.bCompileAgainstCoreUObject = false;
    }
	public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
	{
        if (Target.Platform == UnrealTargetPlatform.IOS)
		{
			// to make World Explorers as small as possible we excluded some items from the engine.
			// uncomment below to make a smaller iOS build
			/*UEBuildConfiguration.bCompileRecast = false;
			UEBuildConfiguration.bCompileSpeedTree = false;
			UEBuildConfiguration.bCompileAPEX = false;
			UEBuildConfiguration.bCompileLeanAndMeanUE = true;
			UEBuildConfiguration.bCompilePhysXVehicle = false;
			UEBuildConfiguration.bCompileFreeType = false;
			UEBuildConfiguration.bCompileForSize = true;*/
		}
	}
Example #34
0
    public override void SetupGlobalEnvironment(
			TargetInfo Target,
			ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
			ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
			)
    {
        if (Target.Platform == UnrealTargetPlatform.PS4)
        {
            OutCPPEnvironmentConfiguration.Definitions.Add("GARLIC_HEAP_SIZE=(2600ULL * 1024 * 1024)");
            OutCPPEnvironmentConfiguration.Definitions.Add("ONION_HEAP_SIZE=(200ULL * 1024 * 1024)");
            OutCPPEnvironmentConfiguration.Definitions.Add("RESERVED_MEMORY_SIZE=(1ULL * 1024 * 1024)");
            OutCPPEnvironmentConfiguration.Definitions.Add("LIBC_MALLOC_SIZE=(32ULL * 1024 * 1024)");
            OutCPPEnvironmentConfiguration.Definitions.Add("LIBC_MALLOC_SIZE=(32ULL * 1024 * 1024)");

            //for a real game these could be behind a call to a virtual function defined in a partial class in a protected folder also.
            OutCPPEnvironmentConfiguration.Definitions.Add("UE4_PROJECT_NPTITLEID=NPXX51358_00");
            OutCPPEnvironmentConfiguration.Definitions.Add("UE4_PROJECT_NPTITLESECRET=81ae213eafbc64777574955bf921c9be3c60a3bddef70c357d8fe49ad64e0d0402d2249de390174832c5e4098114c93c33705b597cfbe9b1153d58fe9fae1f0de1466daf18ef25d06122cff7c95bde07bc060109e20c865305692dfbf9d7b726460893c4abd86dc9e8fd6b5db7dca4ffd4eefcb1771baccd576109bea862d6d4");
        }
    }
    public override void SetupGlobalEnvironment(
		TargetInfo Target,
		ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
		ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
		)
    {
        UEBuildConfiguration.bCompileLeanAndMeanUE = true;

        // Don't need editor
        UEBuildConfiguration.bBuildEditor = false;

        // DsymExporter doesn't ever compile with the engine linked in
        UEBuildConfiguration.bCompileAgainstEngine = false;

        // DsymExporter has no exports, so no need to verify that a .lib and .exp file was emitted by the linker.
        OutLinkEnvironmentConfiguration.bHasExports = false;

        // Do NOT produce additional console app exe
        OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;
    }
        public override void SetupDefaultGlobalEnvironment(
            TargetInfo Target,
            ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
            ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
            )
        {
            UEBuildConfiguration.bCompileLeanAndMeanUE = false;

            // Do not include the editor
            UEBuildConfiguration.bBuildEditor             = true;
            UEBuildConfiguration.bBuildWithEditorOnlyData = true;

            // Require cooked data
            UEBuildConfiguration.bBuildRequiresCookedData = false;

            // Compile the engine
            UEBuildConfiguration.bCompileAgainstEngine = true;

            // Tag it as a 'Editor' build
            OutCPPEnvironmentConfiguration.Definitions.Add("UE_EDITOR=1");
        }