You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
354 lines
9.3 KiB
354 lines
9.3 KiB
5 years ago
|
//-----------------------------------------------------------------------------
|
||
|
// 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.
|
||
|
$Conditional 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
|
||
|
}
|
||
|
}
|