mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 06:06:50 +00:00
354 lines
9.3 KiB
Plaintext
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.
|
|
$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
|
|
}
|
|
}
|