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.
353 lines
9.2 KiB
353 lines
9.2 KiB
//----------------------------------------------------------------------------- |
|
// SOURCE_DLL_WIN32_RELEASE.VPC |
|
// |
|
// Base Settings for all 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" |
|
$MacroRequired "OUTDLLEXT" |
|
$MacroRequiredAllowEmpty "GAMENAME" |
|
$MacroRequiredAllowEmpty "INTERMEDIATESUBDIR" |
|
$MacroRequiredAllowEmpty "_UNITYSUBDIR" |
|
$Macro "_SUBDIRSUFFIX" "$INTERMEDIATESUBDIR$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 "Dynamic Library (.dll)" |
|
$UseOfMFC |
|
$UseOfATL |
|
$MinimizeCRTUseInATL |
|
$CharacterSet "Use Multi-Byte Character Set" |
|
$CommonLanguageRuntimeSupport |
|
$WholeProgramOptimization "Use Link Time Code Generation" [$LTCG] |
|
} |
|
|
|
$Debugging |
|
{ |
|
$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;_USRDLL;_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 |
|
$TreatWCHAR_TAsBuiltInType |
|
$ForceConformanceInForLoopScope "Yes (/Zc:forScope)" |
|
$EnableRunTimeTypeInfo "Yes (/GR)" |
|
$OpenMPSupport |
|
|
|
// Precompiled Headers |
|
$Create/UsePrecompiledHeader "Not Using Precompiled Headers" |
|
$Create/UsePCHThroughFile |
|
$PrecompiledHeaderFile |
|
|
|
// Output Files |
|
$ExpandAttributedSource |
|
$AssemblerOutput |
|
$ASMListLocation "$(IntDir)/" |
|
$ObjectFileName "$(IntDir)/" |
|
$ProgramDatabaseFileName "$(IntDir)/" |
|
$GenerateXMLDocumentationFiles "No" |
|
$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)" |
|
|
|
$AdditionalOptions "/Zm200" |
|
// 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" |
|
$AdditionalOptions "$BASE /Oy-" [$NOFPO] |
|
} |
|
|
|
$Linker |
|
{ |
|
// General |
|
$OutputFile "$(OutDir)/$OUTBINNAME$OUTDLLEXT" |
|
$ShowProgress "Not Set" |
|
$Version |
|
$EnableIncrementalLinking "No (/INCREMENTAL:NO)" |
|
$SuppressStartupBanner "Yes (/NOLOGO)" |
|
$IgnoreImportLibrary |
|
$RegisterOutput |
|
$AdditionalLibraryDirectories "$LIBCOMMON;$LIBPUBLIC" |
|
$LinkLibraryDependencies |
|
$UseLibraryDependencyInputs |
|
$UseUNICODEResponseFiles "No" |
|
|
|
// Input |
|
$AdditionalDependencies |
|
$IgnoreAllDefaultLibraries |
|
$IgnoreSpecificLibrary "libc;libcd;libcmtd;libcpmtd;libcpmtd0;libcpmtd1" |
|
$ModuleDefinitionFile |
|
$AddModuleToAssembly |
|
$EmbedManagedResourceFile |
|
$ForceSymbolReferences |
|
$DelayLoadedDLLs |
|
$AssemblyLinkResource |
|
|
|
// Manifest File |
|
$GenerateManifest "No" |
|
$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 |
|
$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 "$BASE;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 |
|
} |
|
}
|
|
|