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_x360_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_x360_base.vpc')
| -rw-r--r-- | vpc_scripts/source_dll_x360_base.vpc | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/vpc_scripts/source_dll_x360_base.vpc b/vpc_scripts/source_dll_x360_base.vpc new file mode 100644 index 0000000..3e1555b --- /dev/null +++ b/vpc_scripts/source_dll_x360_base.vpc @@ -0,0 +1,133 @@ +//----------------------------------------------------------------------------- +// SOURCE_DLL_X360_BASE.VPC +// +// Base Settings for Source(TM) Projects +//----------------------------------------------------------------------------- + +$Include "$SRCDIR\vpc_scripts\version.vpc" + +$MacroRequired "SRCDIR" +$MacroRequired "OUTBINNAME" "$PROJECTNAME" +$MacroRequired "OUTBINDIR" +$MacroRequired "DEVKITBINDIR" "bin" + +// 360 must have a dll load address +$Include "$SRCDIR\vpc_scripts\loadaddress.vpc" +$MacroRequired "LOADADDRESS_DEVELOPMENT" +$MacroRequired "LOADADDRESS_RETAIL" +$MacroRequired "LOADADDRESSNAME" + +$Macro DLLDEMOSUFFIX "_demo\" [$DEMO] +$MacroEmptyString DLLDEMOSUFFIX "empty" [!$DEMO] + +$Macro LIBPUBLIC "$SRCDIR\lib\public" +$Macro LIBCOMMON "$SRCDIR\lib\common" + +$Include "$SRCDIR\vpc_scripts\source_dll_x360_debug.vpc" +$Include "$SRCDIR\vpc_scripts\source_dll_x360_release.vpc" + +$IgnoreRedundancyWarning "ON" + +// Common Configuration +$Configuration +{ + $Compiler + { + $PreprocessorDefinitions "$BASE;_LOWVIOLENCE" [$LV] + $PreprocessorDefinitions "$BASE;_X360DEMO" [$X360DEMO] + $PreprocessorDefinitions "$BASE;COMPILER_MSVC;COMPILER_MSVCX360;_DLL_EXT=$_DLL_EXT" + $PreprocessorDefinitions "$BASE;DLLNAME=$OUTBINNAME" + } + + $Linker + { + // This ignores the linker error "export '<symbol>' specified multiple times; using first specification + $AdditionalOptions "$BASE /IGNORE:4197" + } + + $Xbox360ImageConversion + { + // All X360 DLLs must be signed with a special XML containing only version field + // the version of the DLL must match the version of default.xex that is signed + // with another XML including more settings (privileges, ratings, memory, etc.) + // DLLs must NOT be signed with the XML used for XEX + $ProjectDefaults "$SRCDIR\common\xlast_$VPCGAME$DLLDEMOSUFFIX\$VPCGAME""_dll.xml" + } + + $ConsoleDeployment + { + $ExcludedFromBuild "Yes" + $DeploymentRoot "xe:\$VPCGAME$DLLDEMOSUFFIX" + } + + $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 $(TargetDir)$(TargetName)_converted.dll" "\n" \ + "$CRCCHECK" "\n" + } + + $PostBuildEvent + { + $CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" \ + "copy $(TargetDir)$(TargetName)_converted.dll $OUTBINDIR\$(TargetFileName)" "\n" \ + "if exist $(TargetDir)$(TargetName).map copy $(TargetDir)$(TargetName).map $OUTBINDIR\$(TargetName).map" "\n" \ + "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" \ + "copy $(TargetDir)$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb" "\n" \ + "copy $(TargetDir)$(TargetName).xdb $OUTBINDIR\$(TargetName).xdb" "\n" \ + "call $SRCDIR\vpc_scripts\valve_xbcp_wrapper.cmd $(TargetDir)$(TargetName)_converted.dll $(RemoteRoot)\$DEVKITBINDIR\$(TargetFileName)" "\n" + + $CommandLine "$BASE" \ + "echo LoadAddressName=$LOADADDRESSNAME > $(TargetDir)$(TargetName).vpcinfo" "\n" \ + "call $SRCDIR\vpc_scripts\valve_xbcp_wrapper.cmd $(TargetDir)$(TargetName).vpcinfo $(RemoteRoot)\$DEVKITBINDIR\$(TargetName).vpcinfo" "\n" [$VPCINFO] + + + $Description "Publishing to $OUTBINDIR" + $ExcludedFromBuild "No" + } + + + // this forces a dependency on the published directory + // when the dependency fails (the dll was deleted), the PostBuildEvent will run, thus causing the publish to re-occur + // this allows for faster debug/release flipping without having to recompile or relink + $CustomBuildStep + { + // General + $CommandLine "echo Checking Dependency $OUTBINDIR\$(TargetFileName)" + $Description " " + $Outputs "$OUTBINDIR\$(TargetFileName)" + } +} + +// Skeleton Project +$Project +{ + $Folder "Source Files" + { + $File "$SRCDIR\public\tier0\memoverride.cpp" + { + $Configuration + { + $Compiler + { + $Create/UsePrecompiledHeader "Not Using Precompiled Headers" + } + } + } + } + + $Folder "Xbox" + { + $File "xbox\xbox.def" + } + + $Folder "Link Libraries" + { + $ImpLib "$LIBPUBLIC\tier0" + $Lib "$LIBPUBLIC\tier1" + $Implib "$LIBPUBLIC\vstdlib" + $Lib "$LIBPUBLIC\interfaces" + } +} + |