diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /vpc_scripts/source_dll_win32_base.vpc | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'vpc_scripts/source_dll_win32_base.vpc')
| -rw-r--r-- | vpc_scripts/source_dll_win32_base.vpc | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/vpc_scripts/source_dll_win32_base.vpc b/vpc_scripts/source_dll_win32_base.vpc new file mode 100644 index 0000000..8dbfca7 --- /dev/null +++ b/vpc_scripts/source_dll_win32_base.vpc @@ -0,0 +1,139 @@ +//----------------------------------------------------------------------------- +// 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" [!$VS2015] +$Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR\2015\release" [$VS2015&&!$WIN32] +$Macro LIBCOMMON "$SRCDIR\lib\common\win32\2015\release" [$VS2015&&$WIN32] + +$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" + + $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" + } +} + |