summaryrefslogtreecommitdiff
path: root/vpc_scripts/source_dll_x360_base.vpc
diff options
context:
space:
mode:
Diffstat (limited to 'vpc_scripts/source_dll_x360_base.vpc')
-rw-r--r--vpc_scripts/source_dll_x360_base.vpc133
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"
+ }
+}
+