Files
UnrealEngineUWP/Engine/Documentation/Source/Programming/UnrealBuildSystem/Configuration/BuildConfigProperties/BuildConfigProperties.INT.udn
buildmachine 1c762d9574 #ROBOMERGE-AUTHOR: buildmachine
Documentation for build tools

#rb none

#ROBOMERGE-SOURCE: CL 4096029 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
#ROBOMERGE-OWNER: jason.bestimt

[CL 4096030 by buildmachine in Dev-VR branch]
2018-05-27 08:44:25 -04:00

347 lines
20 KiB
Plaintext

Availability: NoPublish
Title: Build Configuration Properties Page
Crumbs:
Description: This is a procedurally generated markdown page.
Version: 4.21
### XboxOnePlatform
$ Compiler : Version of the compiler toolchain to use on Windows platform. A value of "default" will be changed to a specific version at UBT startup.
### BuildConfiguration
$ bGeneratedSYMFile : Whether to generate dSYM files Lists Architectures that you want to build
$ bEnableAddressSanitizer : Enables address sanitizer (ASan)
$ bEnableThreadSanitizer : Enables thread sanitizer (TSan)
$ bEnableUndefinedBehaviorSanitizer : Enables undefined behavior sanitizer (UBSan)
$ bWriteSolutionOptionFile : Whether to write a solution option (suo) file for the sln
$ bAddFastPDBToProjects : Whether to add the -FastPDB option to build command lines by default
$ bUsePerFileIntellisense : Whether to generate per-file intellisense data
$ bEditorDependsOnShaderCompileWorker : Whether to include a dependency on ShaderCompileWorker when generating project files for the editor.
$ ProcessorCountMultiplier : Processor count multiplier for local execution. Can be below 1 to reserve CPU for other tasks. When using the local executor (not XGE), run a single action on each CPU core. Note that you can set this to a larger value to get slightly faster build times in many cases, but your computer's responsiveness during compiling may be much worse.
$ MaxProcessorCount : Maximum processor count for local execution.
$ bStopCompilationAfterErrors : When enabled, will stop compiling targets after a compile error occurs.
$ bDebugBuildsActuallyUseDebugCRT : Enables the debug C++ runtime (CRT) for debug builds. By default we always use the release runtime, since the debug version isn't particularly useful when debugging Unreal Engine projects, and linking against the debug CRT libraries forces our third party library dependencies to also be compiled using the debug CRT (and often perform more slowly). Often it can be inconvenient to require a separate copy of the debug versions of third party static libraries simply so that you can debug your program's code.
$ bUseInlining : Enable inlining for all modules.
$ bUseXGEController : Whether the XGE controller worker and modules should be included in the engine build. These are required for distributed shader compilation using the XGE interception interface.
$ bUseUnityBuild : Whether to unify C++ code into larger files for faster compilation.
$ bForceUnityBuild : Whether to force C++ source files to be combined into larger files for faster compilation.
$ bUseAdaptiveUnityBuild : Use a heuristic to determine which files are currently being iterated on and exclude them from unity blobs, result in faster incremental compile times. The current implementation uses the read-only flag to distinguish the working set, assuming that files will be made writable by the source control system if they are being modified. This is true for Perforce, but not for Git.
$ bAdaptiveUnityDisablesOptimizations : Disable optimization for files that are in the adaptive non-unity working set.
$ bAdaptiveUnityDisablesPCH : Disables force-included PCHs for files that are in the adaptive non-unity working set.
$ MinGameModuleSourceFilesForUnityBuild : The number of source files in a game module before unity build will be activated for that module. This allows small game modules to have faster iterative compile times for single files, at the expense of slower full rebuild times. This setting can be overridden by the bFasterWithoutUnity option in a module's Build.cs file.
$ bShadowVariableErrors : Forces shadow variable warnings to be treated as errors on platforms that support it.
$ bUndefinedIdentifierErrors : Forces the use of undefined identifiers in conditional expressions to be treated as errors.
$ bUseFastMonoCalls : New Monolithic Graphics drivers have optional "fast calls" replacing various D3d functions
$ bUseFastSemanticsRenderContexts : New Xbox driver supports a "fast semantics" context type. This switches it on for the immediate and deferred contexts Try disabling this if you see rendering issues and/or crashes inthe Xbox RHI.
$ NumIncludedBytesPerUnityCPP : An approximate number of bytes of C++ code to target for inclusion in a single unified C++ file.
$ bStressTestUnity : Whether to stress test the C++ unity build robustness by including all C++ files files in a project from a single unified file.
$ bDisableDebugInfo : Whether to globally disable debug info generation; see DebugInfoHeuristics.cs for per-config and per-platform options.
$ bDisableDebugInfoForGeneratedCode : Whether to disable debug info generation for generated files. This improves link times for modules that have a lot of generated glue code.
$ bOmitPCDebugInfoInDevelopment : Whether to disable debug info on PC in development builds (for faster developer iteration, as link times are extremely fast with debug info disabled).
$ bUsePDBFiles : Whether PDB files should be used for Visual C++ builds.
$ bUsePCHFiles : Whether PCH files should be used.
$ MinFilesUsingPrecompiledHeader : The minimum number of files that must use a pre-compiled header before it will be created and used.
$ bForcePrecompiledHeaderForGameModules : When enabled, a precompiled header is always generated for game modules, even if there are only a few source files in the module. This greatly improves compile times for iterative changes on a few files in the project, at the expense of slower full rebuild times for small game projects. This can be overridden by setting MinFilesUsingPrecompiledHeaderOverride in a module's Build.cs file.
$ bUseIncrementalLinking : Whether to use incremental linking or not. Incremental linking can yield faster iteration times when making small changes. Currently disabled by default because it tends to behave a bit buggy on some computers (PDB-related compile errors).
$ bAllowLTCG : Whether to allow the use of link time code generation (LTCG).
$ bPGOProfile : Whether to enable Profile Guided Optimization (PGO) instrumentation in this build.
$ bPGOOptimize : Whether to optimize this build with Profile Guided Optimization (PGO).
$ bAllowASLRInShipping : Whether to allow the use of ASLR (address space layout randomization) if supported. Only applies to shipping builds.
$ bSupportEditAndContinue : Whether to support edit and continue. Only works on Microsoft compilers in 32-bit compiles.
$ bOmitFramePointers : Whether to omit frame pointers or not. Disabling is useful for e.g. memory profiling on the PC.
$ bStripSymbolsOnIOS : Whether to strip iOS symbols or not (implied by bGeneratedSYMFile).
$ bUseMallocProfiler : If true, then enable memory profiling in the build (defines USE_MALLOC_PROFILER=1 and forces bOmitFramePointers=false).
$ bUseSharedPCHs : Enables "Shared PCHs", a feature which significantly speeds up compile times by attempting to share certain PCH files between modules that UBT detects is including those PCH's header files.
$ bUseShippingPhysXLibraries : True if Development and Release builds should use the release configuration of PhysX/APEX.
$ bUseCheckedPhysXLibraries : True if Development and Release builds should use the checked configuration of PhysX/APEX. if bUseShippingPhysXLibraries is true this is ignored.
$ bCheckLicenseViolations : Tells the UBT to check if module currently being built is violating EULA.
$ bBreakBuildOnLicenseViolation : Tells the UBT to break build if module currently being built is violating EULA.
$ bUseFastPDBLinking : Whether to use the :FASTLINK option when building with /DEBUG to create local PDBs on Windows. Fast, but currently seems to have problems finding symbols in the debugger.
$ bCreateMapFile : Outputs a map file as part of the build.
$ bCheckSystemHeadersForModification : Whether headers in system paths should be checked for modification when determining outdated actions.
$ bFlushBuildDirOnRemoteMac : Whether to clean Builds directory on a remote Mac before building.
$ bPrintToolChainTimingInfo : Whether to write detailed timing info from the compiler and linker.
$ bIgnoreOutdatedImportLibraries : Whether to ignore import library files that are out of date when building targets. Set this to true to improve iteration time. By default we don't bother relinking targets if only a dependent .lib has changed, as chances are that the import library wasn't actually different unless a dependent header file of this target was also changed, in which case the target would be rebuilt automatically.
$ bUseActionHistory : Whether to generate command line dependencies for compile actions when requested
$ bPrintDebugInfo : Whether debug info should be written to the console.
$ LogFileName : Specifies the file to use for logging
$ bPrintPerformanceInfo : Prints performance diagnostics about include dependencies and other bits
$ bLogDetailedActionStats : Whether to log detailed action stats. This forces local execution.
$ bAllowXGE : Whether XGE may be used.
$ bAllowSNDBS : Whether SN-DBS may be used.
$ bShouldDeleteAllOutdatedProducedItems : Whether or not to delete outdated produced items.
$ JsonExportFile : Whether we should export a JSON file containing detailed target information.
$ bUseIncludeDependencyResolveCache : Whether the dependency cache includes pre-resolved include locations so UBT doesn't have to re-resolve each include location just to check the timestamp. This is technically not fully correct because the dependency cache is global and each module could have a different set of include paths that could cause headers to resolve files differently. In practice this is not the case, and significantly speeds up UBT when nothing is to be done.
$ bTestIncludeDependencyResolveCache : Used to test the dependency resolve cache. This will verify the resolve cache has no conflicts by resolving every time and checking against any previous resolve attempts.
$ bUseUBTMakefiles : Enables support for very fast iterative builds by caching target data. Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time. Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly. The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully. Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
* Events that can invalidate the 'UBT Makefile':
* Adding/removing .cpp files
* Adding/removing .h files with UObjects
* Adding new UObject types to a file that didn't previously have any
* Changing global build settings (most settings in this file qualify.)
* Changed code that affects how Unreal Header Tool works
* You can force regeneration of the 'UBT Makefile' by passing the '-gather' argument, or simply regenerating project files
* This also enables the fast include file dependency scanning and caching system that allows Unreal Build Tool to detect out of date dependencies very quickly. When enabled, a deep C++ include graph does not have to be generated, and instead we only scan and cache indirect includes for after a dependent build product was already found to be out of date. During the next build, we'll load those cached indirect includes and check for outdatedness.
$ bAllowDistcc : Whether DMUCS/Distcc may be used. Distcc requires some setup - so by default disable it so we don't break local or remote building
$ bAllowParallelExecutor : Whether to allow using parallel executor on Windows.
$ bIgnoreJunk : Whether to skip checking for files identified by the junk manifest
$ bAllowDistccLocalFallback : When enabled allows DMUCS/Distcc to fallback to local compilation when remote compiling fails. Defaults to true as separation of pre-process and compile stages can introduce non-fatal errors.
$ bVerboseDistccOutput : When true enable verbose distcc output to aid debugging.
$ DistccExecutablesPath : Path to the Distcc and DMUCS executables.
$ DMUCSCoordinator : DMUCS coordinator hostname or IP address.
$ DMUCSDistProp : The DMUCS distinguishing property value to request for compile hosts.
$ bXGENoWatchdogThread : Whether to use the no_watchdog_thread option to prevent VS2015 toolchain stalls.
$ bShowXGEMonitor : Whether to display the XGE build monitor.
$ bStopXGECompilationAfterErrors : When enabled, XGE will stop compiling targets after a compile error occurs. Recommended, as it saves computing resources for others.
### CLionGenerator
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### CMakefileGenerator
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### CodeLiteGenerator
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### EddieProjectFileGenerator
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### KDevelopGenerator
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### MakefileGenerator
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### ProjectFileGenerator
$ Format : Default list of project file formats to generate
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### QMakefileGenerator
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### VSCodeProjectFileGenerator
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### VCProjectFileGenerator
$ Version : The version of Visual Studio to generate project files for.
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### XcodeProjectFileGenerator
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### SourceFileWorkingSet
$ Provider : Sets the provider to use for determining the working set
$ RepositoryPath : Sets the path to use for the repository. Interpreted relative to the UE root directory (ie. folder above the Engine folder) if relative.
$ GitPath : Sets the path to use for the Git executable. Defaults to "git" (assuming it's in the PATH).
### VCMacProjectFileGenerator
$ Version : The version of Visual Studio to generate project files for.
$ bIncludeDocumentation : True if we should include documentation in the generated projects
$ MasterProjectName : Name of the master project file (e.g. base file name for the solution file for Visual Studio, or the Xcode project file on Mac)
$ bMasterProjectNameFromFolder : If true, sets the master project name according to the name of the folder it's in
### IOSToolChain
$ IOSSDKVersion : Which version of the iOS SDK to target at build time
$ BuildIOSVersion : Which version of the iOS to allow at build time
$ bUseDangerouslyFastMode : If this is set, then we don't do any post-compile steps except moving the executable into the proper spot on the Mac
### HTML5Platform
$ HTML5Architecture : Architecture to build for.
### UEBuildConfiguration
$ bForceHeaderGeneration : If true, force header regeneration. Intended for the build machine
$ bDoNotBuildUHT : If true, do not build UHT, assume it is already built
$ bFailIfGeneratedCodeChanges : If true, fail if any of the generated header files is out of date.
$ bAllowHotReloadFromIDE : True if hot-reload from IDE is allowed
$ bForceDebugUnrealHeaderTool : If true, the Debug version of UnrealHeaderTool will be build and run instead of the Development version.
### SNDBS
$ ProcessorCountMultiplier : Processor count multiplier for local execution. Can be below 1 to reserve CPU for other tasks.
$ MaxProcessorCount : Maximum processor count for local execution.
### RemoteToolChain
$ RemoteServerName : These two variables will be loaded from XML config file in XmlConfigLoader.Init()
$ bUseRPCUtil : Whether or not to connect to UnrealRemoteTool using RPCUtility
$ RSyncExe : Path to rsync executable and parameters for your rsync utility
$ SSHExe : Path to rsync executable and parameters for your rsync utility
$ SSHPrivateKeyOverridePath : Instead of looking for RemoteToolChainPrivate.key in the usual places (Documents/Unreal Engine/UnrealBuildTool/SSHKeys, Engine/Build/SSHKeys), this private key will be used if set
$ RsyncAuthentication : The authentication used for Rsync (for the -e rsync flag)
$ SSHAuthentication : The authentication used for SSH (probably similar to RsyncAuthentication)
$ RSyncUsername : Username on the remote machine to connect to with RSync
### WindowsPlatform
$ Compiler : Version of the compiler toolchain to use on Windows platform. A value of "default" will be changed to a specific version at UBT startup.
$ CompilerVersion : The specific toolchain version to use. This may be a specific version number (eg. "14.13.26128") or the string "Latest" to select the newest available version. By default, we use the toolchain version indicated by WindowsPlatform.DefaultToolChainVersion if it is available, or the latest version otherwise.
$ WindowsSdkVersion : The specific Windows SDK version to use. This may be a specific version number (eg. "8.1", "10.0", or "10.0.10150.0") or the string "Latest" to select the newest available version. By default, we use the Windows SDK version indicated by WindowsPlatform.DefaultWindowsSdkVersion if it is available, or the latest version otherwise.
$ StaticAnalyzer : The static analyzer to use
$ bStrictConformanceMode : Enables strict standard conformance mode (/permissive-) in VS2017+.
### WindowsTargetRules
$ ObjSrcMapFile : Whether we should export a file containing .obj->source file mappings.