//----------------------------------------------------------------------------- // SOURCE_XEX_X360_BASE.VPC // // Base Settings for Source(TM) Projects //----------------------------------------------------------------------------- $Include "$SRCDIR\vpc_scripts\version.vpc" // 360 must have a xex load address $Include "$SRCDIR\vpc_scripts\loadaddress.vpc" $MacroRequired "LOADADDRESS_DEVELOPMENT" $MacroRequired "LOADADDRESS_RETAIL" $MacroRequired "SRCDIR" $MacroRequired "OUTBINNAME" "$PROJECTNAME" $MacroRequired "OUTBINDIR" $MacroRequired "DEVKITBINDIR" "." $Include "$SRCDIR\vpc_scripts\source_xex_x360_debug.vpc" $Include "$SRCDIR\vpc_scripts\source_xex_x360_release.vpc" $IgnoreRedundancyWarning "ON" // Common Configuration $Configuration { $Compiler { $PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST] } $Xbox360ImageConversion { // General $TitleID "0x4541080F" $ProjectDefaults "$SRCDIR\common\hl2orange.xml" } $ConsoleDeployment { $ExcludedFromBuild "Yes" $DeploymentRoot "xe:\Valve" } $PreBuildEvent { $CommandLine "if EXIST $OUTBINDIR\$(TargetName).xex for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetName).xex$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \ "set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \ "if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $(TargetDir)$(TargetName).xex" "\n" \ "$CRCCHECK" } $PostBuildEvent { $CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).xex $SRCDIR" "\n" \ "copy $(TargetDir)$(TargetName).xex $OUTBINDIR\$(TargetName).xex" "\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).xex $(RemoteRoot)\$DEVKITBINDIR\$(TargetName).xex" "\n" $Description "Publishing to $OUTBINDIR" $ExcludedFromBuild "No" } // this forces a dependency on the published directory // when the dependency fails (the xex is 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\$(TargetName).xex" $Description " " $Outputs "$OUTBINDIR\$(TargetName).xex" } } // Skeleton Project $Project { $Folder "Source Files" { $File "$SRCDIR\public\tier0\memoverride.cpp" { $Configuration { $Compiler { $Create/UsePrecompiledHeader "Not Using Precompiled Headers" } } } } $Folder "Link Libraries" { $File "$SRCDIR\lib\public\tier0_360.lib" $File "$SRCDIR\lib\public\tier1_360.lib" $File "$SRCDIR\lib\public\vstdlib_360.lib" } $Folder "Resources" { $File "$ROOTSCRIPT" } }