added VS2019 support

debug build requires a little bit of work
This commit is contained in:
EnderZip
2021-09-24 14:52:32 +07:00
parent d248074290
commit 07f0467707
269 changed files with 150556 additions and 30263 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -24,6 +24,7 @@ $Group "game"
"vgui_controls"
"engine"
"materialsystem"
"particles"
"studiorender"
"shaderapidx9"
"filesystem_stdio"
@@ -53,6 +54,7 @@ $Group "everything"
"mathlib"
"motionmapper"
"phonemeextractor"
"particles"
"raytrace"
"qc_eyes"
"server"

View File

@@ -70,6 +70,11 @@ $Project "phonemeextractor"
"utils\phonemeextractor\phonemeextractor.vpc" [$WIN32]
}
$Project "particles"
{
"particles\particles.vpc"
}
$Project "raytrace"
{
"raytrace\raytrace.vpc" [$WIN32||$X360||$POSIX]

View File

@@ -1,56 +1,56 @@
//-----------------------------------------------------------------------------
// SOURCE_CRYPTLIB_INCLUDE.VPC
//
// Includes needed to link cryptopp
//
//-----------------------------------------------------------------------------
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\common\crypto.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Link Libraries"
{
$Lib vpklib
// So we can check the signature of the item schema.
$Lib "$SRCDIR\lib\public\$PLATSUBDIR\2013\release\cryptlib" [$WINDOWS&&!$VS2015]
$Libexternal $LIBCOMMON/libcrypto [$OSXALL]
$Libexternal $LIBCOMMON/libcryptopp [$OSXALL]
$Libexternal "$SRCDIR\lib\common\$(CRYPTOPPDIR)\libcrypto" [$LINUXALL]
$Libexternal "$SRCDIR\lib\common\$(CRYPTOPPDIR)\libcryptopp" [$LINUXALL]
}
$Folder "Link Libraries" [$VS2015]
{
$File "$SRCDIR\lib\common\win32\2015\release\cryptlib.lib" [$WIN32]
{
$Configuration "Debug" { $ExcludedFromBuild "Yes" }
}
$File "$SRCDIR\lib\common\win32\2015\debug\cryptlib.lib" [$WIN32]
{
$Configuration "Release" { $ExcludedFromBuild "Yes" }
}
$File "$SRCDIR\lib\common\$PLATSUBDIR\2015\release\cryptlib.lib" [$WIN64]
{
$Configuration "Debug" { $ExcludedFromBuild "Yes" }
}
$File "$SRCDIR\lib\common\$PLATSUBDIR\2015\debug\cryptlib.lib" [$WIN64]
{
$Configuration "Release" { $ExcludedFromBuild "Yes" }
}
}
}
//-----------------------------------------------------------------------------
// SOURCE_CRYPTLIB_INCLUDE.VPC
//
// Includes needed to link cryptopp
//
//-----------------------------------------------------------------------------
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\common\crypto.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Link Libraries"
{
$Lib vpklib
// So we can check the signature of the item schema.
//$Lib "$SRCDIR\lib\public\$PLATSUBDIR\2013\release\cryptlib" [$WINDOWS&&!$VS2015]
$Libexternal $LIBCOMMON/libcrypto [$OSXALL]
$Libexternal $LIBCOMMON/libcryptopp [$OSXALL]
$Libexternal "$SRCDIR\lib\common\$(CRYPTOPPDIR)\libcrypto" [$LINUXALL]
$Libexternal "$SRCDIR\lib\common\$(CRYPTOPPDIR)\libcryptopp" [$LINUXALL]
}
$Folder "Link Libraries" [$VS2013]
{
$File "$SRCDIR\lib\common\win32\2019\release\cryptlib.lib" [$WIN32]
{
$Configuration "Debug" { $ExcludedFromBuild "Yes" }
}
$File "$SRCDIR\lib\common\win32\2019\debug\cryptlib.lib" [$WIN32]
{
$Configuration "Release" { $ExcludedFromBuild "Yes" }
}
$File "$SRCDIR\lib\common\$PLATSUBDIR\2019\release\cryptlib.lib" [$WIN64]
{
$Configuration "Debug" { $ExcludedFromBuild "Yes" }
}
$File "$SRCDIR\lib\common\$PLATSUBDIR\2019\debug\cryptlib.lib" [$WIN64]
{
$Configuration "Release" { $ExcludedFromBuild "Yes" }
}
}
}

View File

@@ -1,143 +1,143 @@
//-----------------------------------------------------------------------------
// SOURCE_DLL_WIN32_BASE.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$Macro OUTBINDIR "$OUTBINDIR$PLATSUBDIR"
$Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR"
$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR"
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$Include "$SRCDIR\vpc_scripts\source_dll_win32_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_dll_win32_release.vpc"
$Include "$SRCDIR\vpc_scripts\source_win32_base.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$General
{
$TargetName "$OUTBINNAME"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;DLLNAME=$OUTBINNAME"
}
$Compiler [$WIN32]
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)"
}
$Linker
{
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib" [$WIN32||$WIN64]
$TargetMachine "MachineX86 (/MACHINE:X86)" [$WIN32]
$TargetMachine "MachineX64 (/MACHINE:X64)" [$WIN64]
// Suppress this pointless warning using the undocumented /ignore linker switch
// schemalib.lib(schemaclassinfo.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
$AdditionalOptions "$BASE /ignore:4221"
$AdditionalOptions "$BASE $SRCDIR\lib\public\ftol3.obj" [$VS2013 && $WIN32 && !$DISABLE_FTOL3_OVERRIDE && !$SOURCESDK] // Work around CRT bug https://connect.microsoft.com/VisualStudio/feedback/details/806362/vc12-pollutes-the-floating-point-stack-when-casting-infinity-nan-to-unsigned-long#
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTBINDIR\$(TargetFileName) for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"$CRCCHECK" "\n"
}
$PostBuildEvent [!$ANALYZE]
{
$CommandLine "if not exist $QUOTE$OUTBINDIR$QUOTE mkdir $QUOTE$OUTBINDIR$QUOTE" "\n"
$CommandLine "$BASE" "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE $SRCDIR" "\n" [!$SOURCESDK]
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$(TargetFileName)$QUOTE $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"if exist $QUOTE$(TargetDir)$(TargetName).map$QUOTE copy $QUOTE$(TargetDir)$(TargetName).map$QUOTE $OUTBINDIR\$(TargetName).map" "\n"
$CommandLine "$BASE" "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $QUOTE$OUTBINDIR\$(TargetName).pdb$QUOTE $SRCDIR" "\n" [!$SOURCESDK]
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$(TargetName).pdb$QUOTE $OUTBINDIR\$(TargetName).pdb" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"goto BuildEventOK" "\n" \
":BuildEventFailed" "\n" \
"echo *** ERROR! PostBuildStep FAILED for $(ProjectName)! EXE or DLL is probably running. ***" "\n" \
"del /q $QUOTE$(TargetDir)$(TargetFileName)$QUOTE" "\n" \
"exit 1" "\n" \
":BuildEventOK" "\n"
$CommandLine "$BASE" "\n" \
"call $SRCDIR\devtools\bin\vsign.bat -sign $OUTBINDIR\$(TargetFileName)" "\n" [$RETAIL && $PUBLISH]
$CommandLine "$BASE" "\n" \
"call $SRCDIR\devtools\bin\vsign.bat -signvalve $OUTBINDIR\$(TargetFileName)" "\n" [!$RETAIL && !$PUBLISH && !$SOURCESDK]
$Description "Publishing to $OUTBINDIR"
$ExcludedFromBuild "No"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
// Implement __imp__EncodePointer and __imp__DecodePointer so that we can run on XP SP1
// when building with VS 2010 and higher.
$File "$SRCDIR\public\tier0\pointeroverride.asm" [$WIN32]
{
$Configuration
{
$CustomBuildStep
{
// General
$CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /safeseh /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE"
$Description "Compiling pointeroverride.asm"
$Outputs "$(IntDir)\$(InputName).obj"
}
}
}
$File "$SRCDIR\common\debug_dll_check.cpp" [!$SOURCESDK]
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Link Libraries"
{
$Implib "$LIBPUBLIC\tier0"
$Lib "$LIBPUBLIC\tier1"
$Implib "$LIBPUBLIC\vstdlib"
}
}
//-----------------------------------------------------------------------------
// SOURCE_DLL_WIN32_BASE.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$Macro OUTBINDIR "$OUTBINDIR$PLATSUBDIR"
$Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR"
$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR"
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$Include "$SRCDIR\vpc_scripts\source_dll_win32_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_dll_win32_release.vpc"
$Include "$SRCDIR\vpc_scripts\source_win32_base.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$General
{
$TargetName "$OUTBINNAME"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;DLLNAME=$OUTBINNAME"
}
$Compiler [$WIN32]
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)"
}
$Linker
{
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib legacy_stdio_definitions.lib" [$WIN32||$WIN64]
$TargetMachine "MachineX86 (/MACHINE:X86)" [$WIN32]
$TargetMachine "MachineX64 (/MACHINE:X64)" [$WIN64]
// Suppress this pointless warning using the undocumented /ignore linker switch
// schemalib.lib(schemaclassinfo.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
$AdditionalOptions "$BASE /ignore:4221"
$AdditionalOptions "$BASE $SRCDIR\lib\public\ftol3.obj" [$VS2013 && $WIN32 && !$DISABLE_FTOL3_OVERRIDE && !$SOURCESDK] // Work around CRT bug https://connect.microsoft.com/VisualStudio/feedback/details/806362/vc12-pollutes-the-floating-point-stack-when-casting-infinity-nan-to-unsigned-long#
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTBINDIR\$(TargetFileName) for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"$CRCCHECK" "\n"
}
$PostBuildEvent [!$ANALYZE]
{
$CommandLine "if not exist $QUOTE$OUTBINDIR$QUOTE mkdir $QUOTE$OUTBINDIR$QUOTE" "\n"
$CommandLine "$BASE" "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE $SRCDIR" "\n" [!$SOURCESDK]
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$(TargetFileName)$QUOTE $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"if exist $QUOTE$(TargetDir)$(TargetName).map$QUOTE copy $QUOTE$(TargetDir)$(TargetName).map$QUOTE $OUTBINDIR\$(TargetName).map" "\n"
$CommandLine "$BASE" "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $QUOTE$OUTBINDIR\$(TargetName).pdb$QUOTE $SRCDIR" "\n" [!$SOURCESDK]
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$(TargetName).pdb$QUOTE $QUOTE$OUTBINDIR\$(TargetName).pdb$QUOTE" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"goto BuildEventOK" "\n" \
":BuildEventFailed" "\n" \
"echo *** ERROR! PostBuildStep FAILED for $(ProjectName)! EXE or DLL is probably running. ***" "\n" \
"del /q $QUOTE$(TargetDir)$(TargetFileName)$QUOTE" "\n" \
"exit 1" "\n" \
":BuildEventOK" "\n"
$CommandLine "$BASE" "\n" \
"call $SRCDIR\devtools\bin\vsign.bat -sign $OUTBINDIR\$(TargetFileName)" "\n" [$RETAIL && $PUBLISH]
$CommandLine "$BASE" "\n" \
"call $SRCDIR\devtools\bin\vsign.bat -signvalve $OUTBINDIR\$(TargetFileName)" "\n" [!$RETAIL && !$PUBLISH && !$SOURCESDK]
$Description "Publishing to $OUTBINDIR"
$ExcludedFromBuild "No"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
// Implement __imp__EncodePointer and __imp__DecodePointer so that we can run on XP SP1
// when building with VS 2010 and higher.
$File "$SRCDIR\public\tier0\pointeroverride.asm" [$WIN32]
{
$Configuration
{
$CustomBuildStep
{
// General
$CommandLine "$QUOTE$(VC_ExecutablePath_x64_x86)\ml.exe$QUOTE /safeseh /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE"
$Description "Compiling pointeroverride.asm"
$Outputs "$(IntDir)\$(InputName).obj"
}
}
}
$File "$SRCDIR\common\debug_dll_check.cpp" [!$SOURCESDK]
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
$Folder "Link Libraries"
{
$Implib "$LIBPUBLIC\tier0"
$Lib "$LIBPUBLIC\tier1"
$Implib "$LIBPUBLIC\vstdlib"
}
}

View File

@@ -1,326 +1,326 @@
//-----------------------------------------------------------------------------
// SOURCE_DLL_WIN32_DEBUG.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$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 "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug$_SUBDIRSUFFIX"
$IntermediateDirectory ".\Debug$_SUBDIRSUFFIX"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Dynamic Library (.dll)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization
}
$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 for Edit & Continue (/ZI)" [$WIN32]
$DebugInformationFormat "Program Database (/Zi)" [$WIN64]
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$TreatWarningsAsErrors
$UseUNICODEResponseFiles
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions
$FavorSizeOrSpeed
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "Yes"
$EnableFunctionLevelLinking
$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"
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME$OUTDLLEXT"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "Yes (/INCREMENTAL)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary
$RegisterOutput
$AdditionalLibraryDirectories "$LIBCOMMON;$LIBPUBLIC"
$LinkLibraryDependencies
$UseLibraryDependencyInputs
$UseUNICODEResponseFiles "No"
// Input
$AdditionalDependencies
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmt;libcpmt;libcpmt1"
$ModuleDefinitionFile
$AddModuleToAssembly
$EmbedManagedResourceFile
$ForceSymbolReferences
$DelayLoadedDLLs
$AssemblyLinkResource
// Manifest File
$GenerateManifest "No"
$ManifestFile
$AdditionalManifestDependencies
$AllowIsolation
// 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
// DYNAMICBASE/ASLR in debug builds is annoying and not helpful.
$RandomizedBaseAddress "false"
// Optimization
$References
$EnableCOMDATFolding
$OptimizeForWindows98
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Embedded IDL
$MIDLCommands
$IgnoreEmbeddedIDL
$MergeIDLBaseFileName
$TypeLibrary
$TypeLibResourceID
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$FixedBaseAddress
$TurnOffAssemblyGeneration
$DelayLoadedDLL
$ImportLibrary
$MergeSections
$TargetMachine
$Profile
$CLRThreadAttribute
$CLRImageType
$KeyFile
$KeyContainer
$DelaySign
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
$CLRUnmanagedCodeCheck
// SAFE_SEH should always be disabled on debug builds.
$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;_DEBUG;_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
}
}
//-----------------------------------------------------------------------------
// SOURCE_DLL_WIN32_DEBUG.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$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 "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug$_SUBDIRSUFFIX"
$IntermediateDirectory ".\Debug$_SUBDIRSUFFIX"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Dynamic Library (.dll)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization
}
$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 for Edit & Continue (/ZI)" [$WIN32]
$DebugInformationFormat "Program Database (/Zi)" [$WIN64]
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$TreatWarningsAsErrors "No (/WX-)"
$UseUNICODEResponseFiles
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions
$FavorSizeOrSpeed
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
$EnableMinimalRebuild
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "Yes"
$EnableFunctionLevelLinking
$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"
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME$OUTDLLEXT"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "Yes (/INCREMENTAL)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary
$RegisterOutput
$AdditionalLibraryDirectories "$LIBCOMMON;$LIBPUBLIC"
$LinkLibraryDependencies
$UseLibraryDependencyInputs
$UseUNICODEResponseFiles "No"
// Input
$AdditionalDependencies
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmt;libcpmt;libcpmt1"
$ModuleDefinitionFile
$AddModuleToAssembly
$EmbedManagedResourceFile
$ForceSymbolReferences
$DelayLoadedDLLs
$AssemblyLinkResource
// Manifest File
$GenerateManifest "No"
$ManifestFile
$AdditionalManifestDependencies
$AllowIsolation
// 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
// DYNAMICBASE/ASLR in debug builds is annoying and not helpful.
$RandomizedBaseAddress "false"
// Optimization
$References
$EnableCOMDATFolding
$OptimizeForWindows98
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Embedded IDL
$MIDLCommands
$IgnoreEmbeddedIDL
$MergeIDLBaseFileName
$TypeLibrary
$TypeLibResourceID
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$FixedBaseAddress
$TurnOffAssemblyGeneration
$DelayLoadedDLL
$ImportLibrary
$MergeSections
$TargetMachine
$Profile
$CLRThreadAttribute
$CLRImageType
$KeyFile
$KeyContainer
$DelaySign
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
$CLRUnmanagedCodeCheck
// SAFE_SEH should always be disabled on debug builds.
$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;_DEBUG;_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
}
}

View File

@@ -1,353 +1,353 @@
//-----------------------------------------------------------------------------
// 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.
$Macro 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
}
}
//-----------------------------------------------------------------------------
// 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.
$Macro 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 "No (/WX-)"
$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
}
}

View File

@@ -1,127 +1,127 @@
//-----------------------------------------------------------------------------
// SOURCE_EXE_WIN_WIN32.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$Macro OUTBINDIR "$OUTBINDIR$PLATSUBDIR"
$Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR"
$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR"
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$Include "$SRCDIR\vpc_scripts\source_exe_win_win32_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_exe_win_win32_release.vpc"
$Include "$SRCDIR\vpc_scripts\source_win32_base.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$General
{
$TargetName "$OUTBINNAME"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;EXENAME=$OUTBINNAME;_DLL_EXT=$_DLL_EXT"
}
$Compiler [$WIN32]
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)"
}
$Linker
{
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib" [$WIN32]
$TargetMachine "MachineX86 (/MACHINE:X86)" [$WIN32]
$TargetMachine "MachineX64 (/MACHINE:X64)" [$WIN64]
// NXCOMPAT (also known as DEP or Data Access Protection) should be enabled for all
// executables for security and debugging reasons.
$AdditionalOptions "/NXCOMPAT"
// Suppress this pointless warning using the undocumented /ignore linker switch
// schemalib.lib(schemaclassinfo.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
$AdditionalOptions "$BASE /ignore:4221"
$AdditionalOptions "$BASE $SRCDIR\lib\public\ftol3.obj" [$VS2013 && $WIN32 && !$DISABLE_FTOL3_OVERRIDE && !$SOURCESDK] // Work around CRT bug https://connect.microsoft.com/VisualStudio/feedback/details/806362/vc12-pollutes-the-floating-point-stack-when-casting-infinity-nan-to-unsigned-long#
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTBINDIR\$(TargetFileName) for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"$CRCCHECK" "\n"
}
$PostBuildEvent [!$ANALYZE]
{
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" [!$SOURCESDK]
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$QUOTE$(TargetFileName) $OUTBINDIR\$(TargetFileName) >nul" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"if exist $QUOTE$(TargetDir)$QUOTE$(TargetName).map copy $QUOTE$(TargetDir)$QUOTE$(TargetName).map $OUTBINDIR\$(TargetName).map >nul" "\n"
$CommandLine "$BASE" "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" [!$SOURCESDK]
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$QUOTE$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb >nul" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"goto BuildEventOK" "\n" \
":BuildEventFailed" "\n" \
"echo *** ERROR! PostBuildStep FAILED for $(ProjectName)! EXE or DLL is probably running. ***" "\n" \
"del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"exit 1" "\n" \
":BuildEventOK" "\n"
$Description "Publishing to $OUTBINDIR"
$ExcludedFromBuild "No"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
// Implement __imp__EncodePointer and __imp__DecodePointer so that we can run on XP SP1
// when building with VS 2010 and higher.
$File "$SRCDIR\public\tier0\pointeroverride.asm" [$WIN32]
{
$Configuration
{
$CustomBuildStep
{
// General
$CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE"
$Description "Compiling pointeroverride.asm"
$Outputs "$(IntDir)\$(InputName).obj"
}
}
}
}
$Folder "Link Libraries"
{
$Implib "$LIBPUBLIC\tier0"
$Lib "$LIBPUBLIC\tier1"
$Implib "$LIBPUBLIC\vstdlib"
}
}
//-----------------------------------------------------------------------------
// SOURCE_EXE_WIN_WIN32.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTBINNAME" "$PROJECTNAME"
$MacroRequired "OUTBINDIR"
$Macro OUTBINDIR "$OUTBINDIR$PLATSUBDIR"
$Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR"
$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR"
$Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
$Include "$SRCDIR\vpc_scripts\source_exe_win_win32_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_exe_win_win32_release.vpc"
$Include "$SRCDIR\vpc_scripts\source_win32_base.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$General
{
$TargetName "$OUTBINNAME"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;EXENAME=$OUTBINNAME;_DLL_EXT=$_DLL_EXT"
}
$Compiler [$WIN32]
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)"
}
$Linker
{
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib" [$WIN32]
$TargetMachine "MachineX86 (/MACHINE:X86)" [$WIN32]
$TargetMachine "MachineX64 (/MACHINE:X64)" [$WIN64]
// NXCOMPAT (also known as DEP or Data Access Protection) should be enabled for all
// executables for security and debugging reasons.
$AdditionalOptions "/NXCOMPAT"
// Suppress this pointless warning using the undocumented /ignore linker switch
// schemalib.lib(schemaclassinfo.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
$AdditionalOptions "$BASE /ignore:4221"
$AdditionalOptions "$BASE $SRCDIR\lib\public\ftol3.obj" [$VS2013 && $WIN32 && !$DISABLE_FTOL3_OVERRIDE && !$SOURCESDK] // Work around CRT bug https://connect.microsoft.com/VisualStudio/feedback/details/806362/vc12-pollutes-the-floating-point-stack-when-casting-infinity-nan-to-unsigned-long#
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTBINDIR\$(TargetFileName) for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"$CRCCHECK" "\n"
}
$PostBuildEvent [!$ANALYZE]
{
$CommandLine "if not exist $QUOTE$OUTBINDIR$QUOTE mkdir $QUOTE$OUTBINDIR$QUOTE" "\n" [!$SOURCESDK]
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$QUOTE$(TargetFileName) $OUTBINDIR\$(TargetFileName) >nul" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"if exist $QUOTE$(TargetDir)$QUOTE$(TargetName).map copy $QUOTE$(TargetDir)$QUOTE$(TargetName).map $OUTBINDIR\$(TargetName).map >nul" "\n"
$CommandLine "$BASE" "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" [!$SOURCESDK]
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$QUOTE$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb >nul" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"goto BuildEventOK" "\n" \
":BuildEventFailed" "\n" \
"echo *** ERROR! PostBuildStep FAILED for $(ProjectName)! EXE or DLL is probably running. ***" "\n" \
"del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"exit 1" "\n" \
":BuildEventOK" "\n"
$Description "Publishing to $OUTBINDIR"
$ExcludedFromBuild "No"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\public\tier0\memoverride.cpp"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
// Implement __imp__EncodePointer and __imp__DecodePointer so that we can run on XP SP1
// when building with VS 2010 and higher.
$File "$SRCDIR\public\tier0\pointeroverride.asm" [$WIN32]
{
$Configuration
{
$CustomBuildStep
{
// General
$CommandLine "$QUOTE$(VC_ExecutablePath_x64_x86)\ml.exe$QUOTE /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE"
$Description "Compiling pointeroverride.asm"
$Outputs "$(IntDir)\$(InputName).obj"
}
}
}
}
$Folder "Link Libraries"
{
$Implib "$LIBPUBLIC\tier0"
$Lib "$LIBPUBLIC\tier1"
$Implib "$LIBPUBLIC\vstdlib"
}
}

View File

@@ -1,332 +1,332 @@
//-----------------------------------------------------------------------------
// SOURCE_EXE_WIN_WIN32_DEBUG.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$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 "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug$_SUBDIRSUFFIX"
$IntermediateDirectory ".\Debug$_SUBDIRSUFFIX"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Application (.exe)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization
}
$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 for Edit & Continue (/ZI)" [$WIN32]
$DebugInformationFormat "Program Database (/Zi)" [$WIN64]
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$TreatWarningsAsErrors "No"
$UseUNICODEResponseFiles "No"
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions
$FavorSizeOrSpeed
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
// EnableMinimalRebuild is incompatible with /MP (multi-processor builds)
// and it also makes it hard to iterate on warnings because the compiler
// detects that there is no reason to recompile when you request it.
// It should always be off? It should definitely be off for /analyze builds.
//$EnableMinimalRebuild "Yes (/Gm)" [!$ANALYZE]
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "Yes"
$EnableFunctionLevelLinking
$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)"
// Command Line
$AdditionalOptions
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.exe"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "Yes (/INCREMENTAL)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary
$RegisterOutput
$AdditionalLibraryDirectories
$LinkLibraryDependencies
$UseLibraryDependencyInputs
$UseUNICODEResponseFiles "No"
// Input
$AdditionalDependencies
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmt;libcpmt;libcpmt1"
$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
// DYNAMICBASE/ASLR in debug builds is annoying and not helpful.
$RandomizedBaseAddress "false"
// Optimization
$References
$EnableCOMDATFolding
$OptimizeForWindows98
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Embedded IDL
$MIDLCommands
$IgnoreEmbeddedIDL
$MergeIDLBaseFileName
$TypeLibrary
$TypeLibResourceID
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$FixedBaseAddress
$TurnOffAssemblyGeneration
$DelayLoadedDLL
$ImportLibrary
$MergeSections
$TargetMachine
$Profile
$CLRThreadAttribute
$CLRImageType
$KeyFile
$KeyContainer
$DelaySign
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
$CLRUnmanagedCodeCheck
// SAFE_SEH should always be disabled on debug builds.
$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 "_DEBUG;_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
}
}
//-----------------------------------------------------------------------------
// SOURCE_EXE_WIN_WIN32_DEBUG.VPC
//
// Base Settings for Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$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 "Debug"
{
$General
{
// General
$OutputDirectory ".\Debug$_SUBDIRSUFFIX"
$IntermediateDirectory ".\Debug$_SUBDIRSUFFIX"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Application (.exe)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization
}
$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 for Edit & Continue (/ZI)" [$WIN32]
$DebugInformationFormat "Program Database (/Zi)" [$WIN64]
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$TreatWarningsAsErrors "No (/WX-)"
$UseUNICODEResponseFiles "No"
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions
$FavorSizeOrSpeed
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
// EnableMinimalRebuild is incompatible with /MP (multi-processor builds)
// and it also makes it hard to iterate on warnings because the compiler
// detects that there is no reason to recompile when you request it.
// It should always be off? It should definitely be off for /analyze builds.
//$EnableMinimalRebuild "Yes (/Gm)" [!$ANALYZE]
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "Yes"
$EnableFunctionLevelLinking
$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)"
// Command Line
$AdditionalOptions
}
$Linker
{
// General
$OutputFile "$(OutDir)/$OUTBINNAME.exe"
$ShowProgress "Not Set"
$Version
$EnableIncrementalLinking "Yes (/INCREMENTAL)"
$SuppressStartupBanner "Yes (/NOLOGO)"
$IgnoreImportLibrary
$RegisterOutput
$AdditionalLibraryDirectories
$LinkLibraryDependencies
$UseLibraryDependencyInputs
$UseUNICODEResponseFiles "No"
// Input
$AdditionalDependencies
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary "libc;libcd;libcmt;libcpmt;libcpmt1"
$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
// DYNAMICBASE/ASLR in debug builds is annoying and not helpful.
$RandomizedBaseAddress "false"
// Optimization
$References
$EnableCOMDATFolding
$OptimizeForWindows98
$FunctionOrder
$ProfileGuidedDatabase
$LinkTimeCodeGeneration
// Embedded IDL
$MIDLCommands
$IgnoreEmbeddedIDL
$MergeIDLBaseFileName
$TypeLibrary
$TypeLibResourceID
// Advanced
$EntryPoint
$NoEntryPoint
$SetChecksum
$BaseAddress "$LOADADDRESS_DEVELOPMENT"
$FixedBaseAddress
$TurnOffAssemblyGeneration
$DelayLoadedDLL
$ImportLibrary
$MergeSections
$TargetMachine
$Profile
$CLRThreadAttribute
$CLRImageType
$KeyFile
$KeyContainer
$DelaySign
$ErrorReporting "Prompt Immediately (/ERRORREPORT:PROMPT)"
$CLRUnmanagedCodeCheck
// SAFE_SEH should always be disabled on debug builds.
$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 "_DEBUG;_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
}
}

View File

@@ -1,353 +1,353 @@
//-----------------------------------------------------------------------------
// 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
}
}
//-----------------------------------------------------------------------------
// 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 "No (/WX-)"
$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
}
}

View File

@@ -1,86 +1,86 @@
//-----------------------------------------------------------------------------
// SOURCE_LIB_WIN32_BASE.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME" "$PROJECTNAME"
$MacroRequired "OUTLIBDIR"
$Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR"
$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR"
$Include "$SRCDIR\vpc_scripts\source_lib_win32_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_lib_win32_release.vpc"
$Include "$SRCDIR\vpc_scripts\source_win32_base.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$General
{
$TargetName "$OUTLIBNAME"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;LIBNAME=$OUTLIBNAME"
}
$Compiler [$WIN32]
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)"
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTLIBDIR\$(TargetName).lib ( for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTLIBDIR\$(TargetName).lib$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
") else ( if not EXIST $OUTLIBDIR mkdir $OUTLIBDIR )" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE (" "\n" \
" attrib -r $OUTLIBDIR\$(TargetName).lib" "\n" \
" $SRCDIR\devtools\bin\gnu\touch.exe -d $QUOTE1999-01-01$QUOTE $OUTLIBDIR\$(TargetName).lib" "\n" \
" attrib +r $OUTLIBDIR\$(TargetName).lib" "\n" \
")" "\n" \
"$CRCCHECK" "\n"
}
$PreLinkEvent [!$ANALYZE && !$SOURCESDK]
{
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTLIBDIR\$(TargetName).lib $SRCDIR"
}
$Librarian
{
// Suppress this warning using the undocumented /ignore linker switch
// schemalib.lib(schemaclassinfo.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
$AdditionalOptions "$BASE /ignore:4221"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\common\debug_lib_check.cpp" [!$SOURCESDK]
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
}
//-----------------------------------------------------------------------------
// SOURCE_LIB_WIN32_BASE.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$Include "$SRCDIR\vpc_scripts\version.vpc"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME" "$PROJECTNAME"
$MacroRequired "OUTLIBDIR"
$Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR"
$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR"
$Include "$SRCDIR\vpc_scripts\source_lib_win32_debug.vpc"
$Include "$SRCDIR\vpc_scripts\source_lib_win32_release.vpc"
$Include "$SRCDIR\vpc_scripts\source_win32_base.vpc"
$IgnoreRedundancyWarning "ON"
// Common Configuration
$Configuration
{
$General
{
$TargetName "$OUTLIBNAME"
}
$Compiler
{
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC;_DLL_EXT=$_DLL_EXT"
$PreprocessorDefinitions "$BASE;LIBNAME=$OUTLIBNAME"
}
$Compiler [$WIN32]
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)"
}
$PreBuildEvent
{
$CommandLine "if EXIST $OUTLIBDIR\$(TargetName).lib ( for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTLIBDIR\$(TargetName).lib$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
") else ( if not EXIST $OUTLIBDIR mkdir $OUTLIBDIR )" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE (" "\n" \
" attrib -r $OUTLIBDIR\$(TargetName).lib" "\n" \
" $SRCDIR\devtools\bin\gnu\touch.exe -d $QUOTE1999-01-01$QUOTE $OUTLIBDIR\$(TargetName).lib" "\n" \
" attrib +r $OUTLIBDIR\$(TargetName).lib" "\n" \
")" "\n" \
"$CRCCHECK" "\n"
}
$PreLinkEvent [!$ANALYZE && !$SOURCESDK]
{
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTLIBDIR\$(TargetName).lib $SRCDIR"
}
$Librarian
{
// Suppress this warning using the undocumented /ignore linker switch
// schemalib.lib(schemaclassinfo.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
$AdditionalOptions "$BASE /ignore:4221"
}
}
// Skeleton Project - All derived projects get this as a starting base
$Project
{
$Folder "Source Files"
{
$File "$SRCDIR\common\debug_lib_check.cpp" [!$SOURCESDK]
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
}

View File

@@ -1,206 +1,206 @@
//-----------------------------------------------------------------------------
// SOURCE_LIB_WIN32_DEBUG.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME"
$MacroRequired "OUTLIBDIR"
$MacroRequired "LIBPUBLIC"
$MacroRequired "LIBCOMMON"
$MacroRequired "PLATSUBDIR"
$MacroRequiredAllowEmpty "GAMENAME"
$MacroRequiredAllowEmpty "INTERMEDIATESUBDIR"
$MacroRequiredAllowEmpty "_UNITYSUBDIR"
$MacroRequiredAllowEmpty "_STATICSUBDIR"
$Macro "_SUBDIRSUFFIX" "$INTERMEDIATESUBDIR$_STATICSUBDIR$GAMENAME$PLATSUBDIR$_UNITYSUBDIR"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory "$OUTLIBDIR"
$IntermediateDirectory ".\Debug$_SUBDIRSUFFIX"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Static Library (.lib)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization
}
$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 for Edit & Continue (/ZI)" [$WIN32]
$DebugInformationFormat "Program Database (/Zi)" [$WIN64]
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$Detect64bitPortabilityIssues "Yes (/Wp64)"
$TreatWarningsAsErrors
$UseUNICODEResponseFiles "No"
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions
$FavorSizeOrSpeed
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
// EnableMinimalRebuild is incompatible with /MP (multi-processor builds)
// and it also makes it hard to iterate on warnings because the compiler
// detects that there is no reason to recompile when you request it.
// It should always be off? It should definitely be off for /analyze builds.
//$EnableMinimalRebuild "Yes (/Gm)" [!$ANALYZE]
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "Yes"
$EnableFunctionLevelLinking
$EnableEnhancedInstructionSet
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions
// Language
$DisableLanguageExtensions
$DefaultCharUnsigned
$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 "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)"
}
$Librarian
{
// General
$OutputFile "$OUTLIBDIR\$OUTLIBNAME.lib"
$AdditionalDependencies
$AdditionalLibraryDirectories
$SuppressStartupBanner "Yes (/NOLOGO)"
$ModuleDefinitionFileName
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary
$ExportNamedFunctions
$ForceSymbolReferences
$UseUNICODEResponseFiles "No"
$LinkLibraryDependencies
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTLIBNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}
//-----------------------------------------------------------------------------
// SOURCE_LIB_WIN32_DEBUG.VPC
//
// Base Settings for all Source(TM) Projects
//-----------------------------------------------------------------------------
$IgnoreRedundancyWarning "ON"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME"
$MacroRequired "OUTLIBDIR"
$MacroRequired "LIBPUBLIC"
$MacroRequired "LIBCOMMON"
$MacroRequired "PLATSUBDIR"
$MacroRequiredAllowEmpty "GAMENAME"
$MacroRequiredAllowEmpty "INTERMEDIATESUBDIR"
$MacroRequiredAllowEmpty "_UNITYSUBDIR"
$MacroRequiredAllowEmpty "_STATICSUBDIR"
$Macro "_SUBDIRSUFFIX" "$INTERMEDIATESUBDIR$_STATICSUBDIR$GAMENAME$PLATSUBDIR$_UNITYSUBDIR"
$Configuration "Debug"
{
$General
{
// General
$OutputDirectory "$OUTLIBDIR"
$IntermediateDirectory ".\Debug$_SUBDIRSUFFIX"
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Static Library (.lib)"
$UseOfMFC
$UseOfATL
$MinimizeCRTUseInATL
$CharacterSet "Use Multi-Byte Character Set"
$CommonLanguageRuntimeSupport
$WholeProgramOptimization
}
$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 for Edit & Continue (/ZI)" [$WIN32]
$DebugInformationFormat "Program Database (/Zi)" [$WIN64]
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$Detect64bitPortabilityIssues "Yes (/Wp64)"
$TreatWarningsAsErrors "No (/WX-)"
$UseUNICODEResponseFiles "No"
// Optimization
$Optimization "Disabled (/Od)"
$InlineFunctionExpansion
$EnableIntrinsicFunctions
$FavorSizeOrSpeed
$OmitFramePointers
$EnableFiberSafeOptimizations
$WholeProgramOptimization
// Preprocessor
$PreprocessorDefinitions "$BASE;_HAS_ITERATOR_DEBUGGING=0;WIN32;_WIN32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_ALLOW_RUNTIME_LIBRARY_MISMATCH;_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH;_ALLOW_MSC_VER_MISMATCH;%(PreprocessorDefinitions)"
$IgnoreStandardIncludePath
$GeneratePreprocessedFile
$KeepComments
// Code Generation
$EnableStringPooling "Yes (/GF)"
// EnableMinimalRebuild is incompatible with /MP (multi-processor builds)
// and it also makes it hard to iterate on warnings because the compiler
// detects that there is no reason to recompile when you request it.
// It should always be off? It should definitely be off for /analyze builds.
//$EnableMinimalRebuild "Yes (/Gm)" [!$ANALYZE]
$EnableC++Exceptions "No"
$SmallerTypeCheck
$BasicRuntimeChecks "Default"
$RuntimeLibrary "Multi-threaded Debug (/MTd)"
$StructMemberAlignment
$BufferSecurityCheck "Yes"
$EnableFunctionLevelLinking
$EnableEnhancedInstructionSet
$FloatingPointModel "Fast (/fp:fast)"
$EnableFloatingPointExceptions
// Language
$DisableLanguageExtensions
$DefaultCharUnsigned
$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 "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)"
}
$Librarian
{
// General
$OutputFile "$OUTLIBDIR\$OUTLIBNAME.lib"
$AdditionalDependencies
$AdditionalLibraryDirectories
$SuppressStartupBanner "Yes (/NOLOGO)"
$ModuleDefinitionFileName
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary
$ExportNamedFunctions
$ForceSymbolReferences
$UseUNICODEResponseFiles "No"
$LinkLibraryDependencies
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTLIBNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -1,216 +1,216 @@
//-----------------------------------------------------------------------------
// SOURCE_LIB_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.
$Macro NOFPO "1"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME"
$MacroRequired "OUTLIBDIR"
$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 "$OUTLIBDIR"
$IntermediateDirectory ".\Release$_SUBDIRSUFFIX" [!$RETAIL && !$PROFILE]
$IntermediateDirectory ".\Retail$_SUBDIRSUFFIX" [$RETAIL]
$IntermediateDirectory ".\Profile$_SUBDIRSUFFIX" [!$RETAIL && $PROFILE]
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Static Library (.lib)"
$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 "C7 Compatible (/Z7)"
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$Detect64bitPortabilityIssues "Yes (/Wp64)"
$TreatWarningsAsErrors
$UseUNICODEResponseFiles "No"
// 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;_LIB;_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 "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 "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)"
// 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]
}
$Librarian
{
// General
$OutputFile "$OUTLIBDIR\$OUTLIBNAME.lib"
$AdditionalDependencies
$AdditionalLibraryDirectories
$SuppressStartupBanner "Yes (/NOLOGO)"
$ModuleDefinitionFileName
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary
$ExportNamedFunctions
$ForceSymbolReferences
$UseUNICODEResponseFiles "No"
$LinkLibraryDependencies
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTLIBNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}
//-----------------------------------------------------------------------------
// SOURCE_LIB_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.
$Macro NOFPO "1"
$MacroRequired "SRCDIR"
$MacroRequired "OUTLIBNAME"
$MacroRequired "OUTLIBDIR"
$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 "$OUTLIBDIR"
$IntermediateDirectory ".\Release$_SUBDIRSUFFIX" [!$RETAIL && !$PROFILE]
$IntermediateDirectory ".\Retail$_SUBDIRSUFFIX" [$RETAIL]
$IntermediateDirectory ".\Profile$_SUBDIRSUFFIX" [!$RETAIL && $PROFILE]
$ExtensionsToDeleteOnClean
$BuildLogFile
$InheritedProjectPropertySheets
// Project Defaults
$ConfigurationType "Static Library (.lib)"
$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 "C7 Compatible (/Z7)"
$SuppressStartupBanner
$WarningLevel "Level 4 (/W4)"
$Detect64bitPortabilityIssues "Yes (/Wp64)"
$TreatWarningsAsErrors "No (/WX-)"
$UseUNICODEResponseFiles "No"
// 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;_LIB;_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 "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 "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)"
// 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]
}
$Librarian
{
// General
$OutputFile "$OUTLIBDIR\$OUTLIBNAME.lib"
$AdditionalDependencies
$AdditionalLibraryDirectories
$SuppressStartupBanner "Yes (/NOLOGO)"
$ModuleDefinitionFileName
$IgnoreAllDefaultLibraries
$IgnoreSpecificLibrary
$ExportNamedFunctions
$ForceSymbolReferences
$UseUNICODEResponseFiles "No"
$LinkLibraryDependencies
// Command Line
$AdditionalOptions
}
$XMLDocumentGenerator
{
// General
$SuppressStartupBanner "Yes (/nologo)"
$ValidateIntelliSense
$AdditionalDocumentFiles
$OutputDocumentFile
$DocumentLibraryDependencies
$UseUNICODEResponseFiles
}
$BrowseInformation
{
$SuppressStartupBanner "Yes (/nologo)"
$OutputFile "$(OutDir)/$OUTLIBNAME.bsc"
$AdditionalOptions
}
$PreBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PreLinkEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$PostBuildEvent
{
$CommandLine
$Description
$ExcludedFromBuild "No"
}
$CustomBuildStep
{
// General
$CommandLine
$Description
$Outputs
$AdditionalDependencies
}
}

View File

@@ -1,58 +1,60 @@
// Settings for /analyze are in a separate .vpc file so that they can be
// changed without triggering a full rebuild of non-analyze builds. On non-analyze
// builds the analyze.vpc file will not be listed as a dependency.
$Include "$SRCDIR\vpc_scripts\source_win32_analyze.vpc" [$ANALYZE]
$Configuration
{
$General
{
// Request a specific compiler toolset.
$PlatformToolset "v100" [$VS2010]
$PlatformToolset "v110_xp" [$VS2012 && !$ANALYZE] // VS 2012 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
$PlatformToolset "v110" [$VS2012 && $ANALYZE] // VS 2012 for /analyze
$PlatformToolset "v120_xp" [$VS2013 && !$ANALYZE] // VS 2013 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
$PlatformToolset "v120" [$VS2013 && $ANALYZE] // VS 2013 for /analyze
}
$General
{
$ExecutableDirectories "$(ExecutablePath);$(Path)"
// We need to override mt.exe for Win7 compatibiity. Append paths before $(ExecutablePath) if you need VS to use your tools rather than its own
$ExecutableDirectories "$SRCDIR\devtools\vstools;$BASE"
// VS 2012 compiles fine but does not link. We want to redirect to stub versions of
// the tools (like link.exe and mt.exe) so that the link stage will be NOPed when
// doing /analyze builds.
$ExecutableDirectories "$SRCDIR\devtools\vs_nop_tools;$BASE" [$ANALYZE]
}
$Compiler
{
$MultiProcessorCompilation "True"
// warning C4316: object allocated on the heap may not be aligned 16
$DisableSpecificWarnings "$BASE;4316" [$VS2013]
// Having lots of warnings makes it harder to notice new, and possibly
// important warnings, both on buildbot and in the output window. Lots
// of warnings also makes it harder to skip through errors in the output
// window since F8 stops on both warnings and errors. The only way to
// keep the warning count down is to have warnings-as-errors.
// We will not be warning free on 64-bit for a while...
$TreatWarningsAsErrors "Yes (/WX)" [!$ANALYZE && !$WIN64]
// Defines to differentiate 32 from 64 bit builds
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
// /Gw is a VS 2013 option that puts global and static variables in individual sections so that the
// linker can discard unreferenced data. When building @client /dota with linker optimizations this
// reduces the client.dll size by about 1.14%. When linker optimizations are disabled this has no
// effect. This option does not show up in the IDE so we need to add it in $AdditionalOptions.
// http://blogs.msdn.com/b/vcblog/archive/2013/09/11/introducing-gw-compiler-switch.aspx
$AdditionalOptions "$BASE /Gw" [$VS2013]
// Strip unreferenced inline functions from object files to shrink .obj files and .lib files,
// improve linker speed, and improve conformance. Requires VS 2013 Update 3
$AdditionalOptions "$BASE /Zc:inline" [$VS2013]
}
}
// Settings for /analyze are in a separate .vpc file so that they can be
// changed without triggering a full rebuild of non-analyze builds. On non-analyze
// builds the analyze.vpc file will not be listed as a dependency.
$Include "$SRCDIR\vpc_scripts\source_win32_analyze.vpc" [$ANALYZE]
$Configuration
{
$General
{
// Request a specific compiler toolset.
//$PlatformToolset "v100" [$VS2010]
//$PlatformToolset "v110_xp" [$VS2012 && !$ANALYZE] // VS 2012 targeting Windows XP - //http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
//$PlatformToolset "v110" [$VS2012 && $ANALYZE] // VS 2012 for /analyze
//$PlatformToolset "v120_xp" [$VS2013 && !$ANALYZE] // VS 2013 targeting Windows XP - //http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
$PlatformToolset "v142" // VS 2019
}
$General
{
$ExecutableDirectories "$(ExecutablePath);$(Path)"
// We need to override mt.exe for Win7 compatibiity. Append paths before $(ExecutablePath) if you need VS to use your tools rather than its own
$ExecutableDirectories "$SRCDIR\devtools\vstools;$BASE"
// VS 2012 compiles fine but does not link. We want to redirect to stub versions of
// the tools (like link.exe and mt.exe) so that the link stage will be NOPed when
// doing /analyze builds.
$ExecutableDirectories "$SRCDIR\devtools\vs_nop_tools;$BASE" [$ANALYZE]
}
$Compiler
{
$MultiProcessorCompilation "True"
// warning C4316: object allocated on the heap may not be aligned 16
// warning C4838: conversion requires a narrowing conversion
// warning C4456-4459: variable shadowing. TODO: fix those!
$DisableSpecificWarnings "$BASE;4316;4838;4456;4457;4458;4459" [$VS2013]
// Having lots of warnings makes it harder to notice new, and possibly
// important warnings, both on buildbot and in the output window. Lots
// of warnings also makes it harder to skip through errors in the output
// window since F8 stops on both warnings and errors. The only way to
// keep the warning count down is to have warnings-as-errors.
// We will not be warning free on 64-bit for a while...
$TreatWarningsAsErrors "No (/WX-)"
// Defines to differentiate 32 from 64 bit builds
$PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64]
$PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32]
// /Gw is a VS 2013 option that puts global and static variables in individual sections so that the
// linker can discard unreferenced data. When building @client /dota with linker optimizations this
// reduces the client.dll size by about 1.14%. When linker optimizations are disabled this has no
// effect. This option does not show up in the IDE so we need to add it in $AdditionalOptions.
// http://blogs.msdn.com/b/vcblog/archive/2013/09/11/introducing-gw-compiler-switch.aspx
$AdditionalOptions "$BASE /Gw" [$VS2013]
// Strip unreferenced inline functions from object files to shrink .obj files and .lib files,
// improve linker speed, and improve conformance. Requires VS 2013 Update 3
$AdditionalOptions "$BASE /Zc:inline" [$VS2013]
}
}