source-sdk-2013-mapbase/mp/src/vpc_scripts/source_exe_win_win32_release.vpc

354 lines
9.3 KiB
Plaintext

//-----------------------------------------------------------------------------
// SOURCE_EXE_WIN_WIN32_RELEASE.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
// Disable frame pointer omission to allow fast stack walking, necessary for
// good ETW profiling.
$Macro NOFPO "1"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME"
$MacroRequired "OUTBINDIR"
$MacroRequired "LIBPUBLIC"
$MacroRequired "LIBCOMMON"
$MacroRequired "PLATSUBDIR"
$MacroRequiredAllowEmpty "GAMENAME"
$MacroRequiredAllowEmpty "INTERMEDIATESUBDIR"
$MacroRequiredAllowEmpty "_UNITYSUBDIR"
$MacroRequiredAllowEmpty "_STATICSUBDIR"
$Macro "_SUBDIRSUFFIX" "$INTERMEDIATESUBDIR$_STATICSUBDIR$GAMENAME$PLATSUBDIR$_UNITYSUBDIR"
$Configuration "Release"
{
$General
{
// General
$OutputDirectory ".\Release$_SUBDIRSUFFIX" [!$RETAIL && !$PROFILE]
$IntermediateDirectory ".\Release$_SUBDIRSUFFIX" [!$RETAIL && !$PROFILE]
$OutputDirectory ".\Retail$_SUBDIRSUFFIX" [$RETAIL]
$IntermediateDirectory ".\Retail$_SUBDIRSUFFIX" [$RETAIL]
$OutputDirectory ".\Profile$_SUBDIRSUFFIX" [!$RETAIL && $PROFILE]
$IntermediateDirectory ".\Profile$_SUBDIRSUFFIX" [!$RETAIL && $PROFILE]
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Application (.exe)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization "Use Link Time Code Generation" [$LTCG]
}
$Debugging
{
// Action
$Command
$CommandArguments
$WorkingDirectory
$Attach
$DebuggerType
$Environment
$MergeEnvironment
$SQLDebugging
}
$Compiler
{
// General
$AdditionalIncludeDirectories "$SRCDIR\common;$SRCDIR\public;$SRCDIR\public\tier0;$SRCDIR\public\tier1"
$Resolve#UsingReferences
$DebugInformationFormat "Program Database (/Zi)"
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$TreatWarningsAsErrors
$UseUnicodeResponseFiles
// Optimization
$Optimization "Maximize Speed (/O2)"
$InlineFunctionExpansion "Any Suitable (/Ob2)"
$EnableIntrinsicFunctions "Yes (/Oi)"
$FavorSizeOrSpeed "Favor Fast Code (/Ot)"
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;WIN32;_WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$PreprocessorDefinitions "$BASE;RELEASEASSERTS" [$RELEASEASSERTS]
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks
$RuntimeLibrary "Multi-threaded (/MT)"
$StructMemberAlignment
$BufferSecurityCheck "No" [$RETAIL]
$BufferSecurityCheck "Yes" [!$RETAIL]
$EnableFunctionLevelLinking "Yes (/Gy)"
$EnableEnhancedInstructionSet
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions
// Language
$DisableLanguageExtensions
$DefaultCharUnsigned "No"
$TreatWCHAR_TAsBuiltInType "Yes (/Zc:wchar_t)"
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)"
$EnableRunTimeTypeInfo "Yes (/GR)"
$OpenMPSupport "No"
// Precompiled Headers
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
$Create/UsePCHThroughFile
$PrecompiledHeaderFile
// Output Files
$ExpandAttributedSource "No"
$AssemblerOutput "No Listing"
$ASMListLocation "$(IntDir)/"
$ObjectFileName "$(IntDir)/"
$ProgramDatabaseFileName "$(IntDir)/"
$GenerateXMLDocumentationFiles
$XMLDocumentationFileName
// Browse Information
$EnableBrowseInformation "None"
$BrowseFile "$(IntDir)/"
// Advanced
$CallingConvention
$CompileAs "Compile as C++ Code (/TP)"
$DisableSpecificWarnings
$ForceIncludes
$Force#Using
$ShowIncludes
$UndefinePreprocessorDefinitions
$UndefineAllPreprocessorDefinitions
$UseFullPaths "Yes (/FC)"
$OmitDefaultLibraryNames
$ErrorReporting "Prompt Immediately (/errorReport:prompt)"
// Enable extra debugging information. This switch requires VS 2013 Update 3.
// With VS 2013 make sure that Edit-And-Continue is disabled in the debugger settings so that
// the debugger uses the enhanced debug information.
// http://randomascii.wordpress.com/2013/09/11/debugging-optimized-codenew-in-visual-studio-2012/
$AdditionalOptions "$BASE /Zo"
// Command Line
$AdditionalOptions "$BASE /Oy-" [$NOFPO]
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.exe"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "No (/INCREMENTAL:NO)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary
$RegisterOutput
$AdditionalLibraryDirectories
$LinkLibraryDependencies
$UseLibraryDependencyInputs
$UseUNICODEResponseFiles "No"
// Input
$AdditionalDependencies
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmtd;libcpmtd;libcpmtd0;libcpmtd1"
$ModuleDefinitionFile
$AddModuleToAssembly
$EmbedManagedResourceFile
$ForceSymbolReferences
$DelayLoadedDLLs
$AssemblyLinkResource
// Manifest File
$GenerateManifest "Yes"
$ManifestFile
$AdditionalManifestDependencies
$AllowIsolation
$UACExecutionLevel
// Debugging
$GenerateDebugInfo "Yes (/DEBUG)"
$GenerateProgramDatabaseFile "$(IntDir)/$(TargetName).pdb"
$StripPrivateSymbols
$MapExports
$DebuggableAssembly
// System
$SubSystem "Windows (/SUBSYSTEM:WINDOWS)"
$HeapReserveSize
$HeapCommitSize
$StackReserveSize
$StackCommitSize
$EnableLargeAddresses
$TerminalServer
$SwapRunFromCD
$SwapRunFromNetwork
$Driver
// RandomizeBaseAddress (/DYNAMICBASE, /ASLR) is a hugely important security setting.
// However it can cause confusion during development and can make tracking down certain
// bugs tricky by making code/stack/heap addresses change between runs. Enable for retail,
// but disable for development builds.
$RandomizedBaseAddress "true" [$RETAIL]
$RandomizedBaseAddress "false" [!$RETAIL]
// Optimization
$References "Eliminate Unreferenced Data (/OPT:REF)"
// COMDAT folding can be very confusing when debugging and profiling because it can
// cause execution to go through nonsensical functions (that happen to be binary
// equivalent to the logical function). The performance benefit is small enough that
// it is not worth enabling in the development builds. It should be enabled on retail
// builds.
$EnableCOMDATFolding "Remove Redundant COMDATs (/OPT:ICF)" [$RETAIL]
$EnableCOMDATFolding "No (/OPT:NOICF)" [!$RETAIL]
$OptimizeForWindows98
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Embedded IDL
$MIDLCommands
$IgnoreEmbeddedIDL
$MergeIDLBaseFileName
$TypeLibrary
$TypeLibResourceID
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
//$BaseAddress "$LOADADDRESS_RETAIL" [$RETAIL]
$FixedBaseAddress
$TurnOffAssemblyGeneration
$DelayLoadedDLL
$ImportLibrary
$MergeSections
$TargetMachine
$Profile
$CLRThreadAttribute
$CLRImageType
$KeyFile
$KeyContainer
$DelaySign
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
$CLRUnmanagedCodeCheck
// Most DLLs cannot yet handle SafeSEH
$ImageHasSafeExceptionHandlers "false"
// Command Line
$AdditionalOptions
}
$ManifestTool
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$VerboseOutput
$AssemblyIdentity
$UseUNICODEResponseFiles
$UseFAT32WorkAround
// Input And Output
$AdditionalManifestFiles "$SRCDIR\public\windows_default.manifest" [!$SOURCESDK]
$InputResourceManifests
$EmbedManifest
$OutputManifestFile
$ManifestResourceFile
$GenerateCatalogFiles
$DependencyInformationFile
// Isolated COM
$TypeLibraryFile
$RegistrarScriptFile
$ComponentFileName
$ReplacementsFile
// Advanced
$UpdateFileHashes
$UpdateFileHashesSearchPath
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTBINNAME.bsc"
$AdditionalOptions
}
$Resources
{
// General
$PreprocessorDefinitions "NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)"
$Culture "English (United States) (0x409)"
$AdditionalIncludeDirectories
$IgnoreStandardIncludePath
$ShowProgress
$ResourceFileName
// Command Line
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}