Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.1 KiB

  1. //-----------------------------------------------------------------------------
  2. // SOURCE_XEX_X360_BASE.VPC
  3. //
  4. // Base Settings for Source(TM) Projects
  5. //-----------------------------------------------------------------------------
  6. $Include "$SRCDIR\vpc_scripts\version.vpc"
  7. // 360 must have a xex load address
  8. $Include "$SRCDIR\vpc_scripts\loadaddress.vpc"
  9. $MacroRequired "LOADADDRESS_DEVELOPMENT"
  10. $MacroRequired "LOADADDRESS_RETAIL"
  11. $MacroRequired "SRCDIR"
  12. $MacroRequired "OUTBINNAME" "$PROJECTNAME"
  13. $MacroRequired "OUTBINDIR"
  14. $MacroRequired "DEVKITBINDIR" "."
  15. $Include "$SRCDIR\vpc_scripts\source_xex_x360_debug.vpc"
  16. $Include "$SRCDIR\vpc_scripts\source_xex_x360_release.vpc"
  17. $IgnoreRedundancyWarning "ON"
  18. // Common Configuration
  19. $Configuration
  20. {
  21. $Compiler
  22. {
  23. $PreprocessorDefinitions "$BASE;_MEMTEST" [$MEMTEST]
  24. }
  25. $Xbox360ImageConversion
  26. {
  27. // General
  28. $TitleID "0x4541080F"
  29. $ProjectDefaults "$SRCDIR\common\hl2orange.xml"
  30. }
  31. $ConsoleDeployment
  32. {
  33. $ExcludedFromBuild "Yes"
  34. $DeploymentRoot "xe:\Valve"
  35. }
  36. $PreBuildEvent
  37. {
  38. $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" \
  39. "set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
  40. "if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $(TargetDir)$(TargetName).xex" "\n" \
  41. "$CRCCHECK"
  42. }
  43. $PostBuildEvent
  44. {
  45. $CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).xex $SRCDIR" "\n" \
  46. "copy $(TargetDir)$(TargetName).xex $OUTBINDIR\$(TargetName).xex" "\n" \
  47. "if exist $(TargetDir)$(TargetName).map copy $(TargetDir)$(TargetName).map $OUTBINDIR\$(TargetName).map" "\n" \
  48. "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" \
  49. "copy $(TargetDir)$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb" "\n" \
  50. "copy $(TargetDir)$(TargetName).xdb $OUTBINDIR\$(TargetName).xdb" "\n" \
  51. "call $SRCDIR\vpc_scripts\valve_xbcp_wrapper.cmd $(TargetDir)$(TargetName).xex $(RemoteRoot)\$DEVKITBINDIR\$(TargetName).xex" "\n"
  52. $Description "Publishing to $OUTBINDIR"
  53. $ExcludedFromBuild "No"
  54. }
  55. // this forces a dependency on the published directory
  56. // when the dependency fails (the xex is deleted), the PostBuildEvent will run, thus causing the publish to re-occur
  57. // this allows for faster debug/release flipping without having to recompile or relink
  58. $CustomBuildStep
  59. {
  60. // General
  61. $CommandLine "echo Checking Dependency $OUTBINDIR\$(TargetName).xex"
  62. $Description " "
  63. $Outputs "$OUTBINDIR\$(TargetName).xex"
  64. }
  65. }
  66. // Skeleton Project
  67. $Project
  68. {
  69. $Folder "Source Files"
  70. {
  71. $File "$SRCDIR\public\tier0\memoverride.cpp"
  72. {
  73. $Configuration
  74. {
  75. $Compiler
  76. {
  77. $Create/UsePrecompiledHeader "Not Using Precompiled Headers"
  78. }
  79. }
  80. }
  81. }
  82. $Folder "Link Libraries"
  83. {
  84. $File "$SRCDIR\lib\public\tier0_360.lib"
  85. $File "$SRCDIR\lib\public\tier1_360.lib"
  86. $File "$SRCDIR\lib\public\vstdlib_360.lib"
  87. }
  88. $Folder "Resources"
  89. {
  90. $File "$ROOTSCRIPT"
  91. }
  92. }