Valve Project Creator: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Update VPC help with help output from git repo.)
No edit summary
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{LanguageBar}}
The [[Valve Project Creator]] generates project and makefiles for the Source SDK.
The [[Valve Project Creator]] generates project and makefiles for the Source SDK.


Fore more information about building the Source SDK, see [[Source SDK 2013]].
For more information about building the Source SDK, see [[Source SDK 2013]]. To learn more about editing VPC scripts, visit [[Editing VPC scripts]].


VPC - Valve Project Creator For Visual Studio, Xbox 360, PlayStation 3, Xcode and Make (Build: Aug 27 2014 12:55:48)
===How to use===
(C) Copyright 1996-2010, Valve Corporation, All rights reserved.
Valve Project Creator is a command-line tool, so you'll have to use the command-prompt window.


Source Path: D:\VS_projects\Repos\source-sdk-2013\mp\src
An example for a command using the command prompt:  
Target Platform: win32
<pre>
Generating for Visual Studio 2013.
C:\Users\someguy\Desktop\source-sdk-2013\mp\src\devtools\bin>vpc /h
</pre>


usage: vpc [options] <+/-/*project or group>
This will print out the help information seen below.


Examples:
Another example:


  Single .vcproj generation:
<pre>
    vpc +client /hl2    <-- Creates a Win32 .vcproj for the HL2 client.
C:\Users\someguy\Desktop\source-sdk-2013\mp\src\devtools\bin>vpc +shaders /hl2mp
    vpc +shaderapi /x360 <-- Creates a Xbox360 .vcproj for the shaderapi.
</pre>


  Multiple .vcproj generation - Multiple Projects for Games and Platforms:
This command will create the project file(s) for the <code>shaders</code> project group for the Source 2013 Multiplayer branch.  
    vpc +client /hl2 /tf          <-- Creates ALL the Win32 .vcprojs for the HL2 and TF client.
    vpc +gamedlls /allgames        <-- Creates ALL the Win32 .vcprojs for client and server for all GAMES.
    vpc +tools -tier0 /win32 /x360 <-- Creates ALL the Win32 and Xbox360 .vcprojs for the tool projects but not the tier0 project.


  Use +/- to add or remove projects or groups.
===VPC Help Information===
  Use *  to add a project and all projects that depend on it.
VPC - Valve Project Creator For Visual Studio, Xbox 360, PlayStation 3, Xcode and Make (Build: Aug 27 2014 12:55:48)
  Use @  to add a project and all projects that it depends on.
(C) Copyright 1996-2010, Valve Corporation, All rights reserved.
  Use /h spew final target build set only (no .vcproj created).
Source Path: D:\Games\Steam\SteamApps\sourcemods\assets\code-2013
Target Platform: win32
Generating for Visual Studio 2013.
usage: vpc [options] <+/-/*project or group>
Examples:
  Single .vcproj generation:
    vpc +client /hl2    <-- Creates a Win32 .vcproj for the HL2 client.
    vpc +shaderapi /x360 <-- Creates a Xbox360 .vcproj for the shaderapi.
  Multiple .vcproj generation - Multiple Projects for Games and Platforms:
    vpc +client /hl2 /tf          <-- Creates ALL the Win32 .vcprojs for the HL2 and TF client.
    vpc +gamedlls /allgames        <-- Creates ALL the Win32 .vcprojs for client and server for all GAMES.
    vpc +tools -tier0 /win32 /x360 <-- Creates ALL the Win32 and Xbox360 .vcprojs for the tool projects but not the tier0 project.
  Use +/- to add or remove projects or groups.
  Use *  to add a project and all projects that depend on it.
  Use @  to add a project and all projects that it depends on.
  Use /h spew final target build set only (no .vcproj created).
  Further details can be found on Valve Internal Wiki on VPC.
--- OPTIONS ---
[/q]:          Quiet mode (quiet mode is automatically on if the VPC_QUIET environment variable is set)
[/v]:          Verbose
[/f]:          Force generate .vcproj, otherwise use crc checks
[/dp]:        Decorate project names with platform
[/testmode]:  Override output .vcproj file to be named 'test.vcproj'
[/srcctl]:    Enable source control integration
[/2013]:      Generate projects and solutions for Visual Studio 2013 [default]
[/2012]:      Generate projects and solutions for Visual Studio 2012
[/2010]:      Generate projects and solutions for Visual Studio 2010
[/2005]:      Generate projects and solutions for Visual Studio 2005
[/nounity]:    Disable unity file generation
--- Help ---
[/h]:          Help
[/?]:          Help
[/platforms]:  Spew Platforms
[/games]:      Spew Games
[/projects]:  Spew Projects
[/groups]:    Spew Groups
[/properties]: Spew VS2005 Properties
--- Conditionals ---
[/profile]:    Set Reserved $PROFILE=1
[/retail]:    Set Reserved $RETAIL=1
[/callcap]:    Set Reserved $CALLCAP=1
[/fastcap]:    Set Reserved $FASTCAP=1
[/nofpo]:      Set Reserved $NOFPO=1
[/lv]:        Set Reserved $LV=1
[/demo]:      Set Reserved $DEMO=1
[/no_steam]:  Set Reserved $NO_STEAM=1
[/qtdebug]:    Set Reserved $QTDEBUG=1
[/no_ceg]:    Set Reserved $NO_CEG=1
[/upload_ceg]: Set Reserved $UPLOAD_CEG=1
--- Other ---
[/mksln]:      <.sln filename> - make a solution file
[/p4sln]:      <.sln filename> <changelists...> - make a solution file based on
                the changelist. Changelists can be specific numbers, 0 or "default"
                for the default changelist, or "all" for all active changelists.
[/nop4add]:    Don't automatically add project files to Perforce
[/slnitems]:  <filename> - adds all files listed in <filename> to generated
                solutions
[/showdeps]:  Show an example dependency chain for each project that depends
                on your p4 change list(s).  Use with /p4sln.
[/checkfiles]: Check for the existence of files in $file commands. For debugging vpc files.
                Only works if the currrent directory is the project directory.
[/define:xxx]: Enable a custom conditional $XXX to use for quick testing in VPC files.


  Further details can be found on Valve Internal Wiki on VPC.
[[Category:Source SDK FAQ]]
 
[[Category:Modding]]
--- OPTIONS ---
[/q]:          Quiet mode (quiet mode is automatically on if the VPC_QUIET environment variable is set)
[/v]:          Verbose
[/f]:          Force generate .vcproj, otherwise use crc checks
[/dp]:        Decorate project names with platform
[/testmode]:  Override output .vcproj file to be named 'test.vcproj'
[/srcctl]:     Enable source control integration
[/2013]:      Generate projects and solutions for Visual Studio 2013 [default]
[/2012]:      Generate projects and solutions for Visual Studio 2012
[/2010]:       Generate projects and solutions for Visual Studio 2010
[/2005]:      Generate projects and solutions for Visual Studio 2005
[/nounity]:    Disable unity file generation
 
--- Help ---
[/h]:          Help
[/?]:          Help
[/platforms]:  Spew Platforms
[/games]:      Spew Games
[/projects]:  Spew Projects
[/groups]:    Spew Groups
[/properties]: Spew VS2005 Properties
 
--- Conditionals ---
[/profile]:    Set Reserved $PROFILE=1
[/retail]:    Set Reserved $RETAIL=1
[/callcap]:    Set Reserved $CALLCAP=1
[/fastcap]:    Set Reserved $FASTCAP=1
[/nofpo]:      Set Reserved $NOFPO=1
[/lv]:        Set Reserved $LV=1
[/demo]:      Set Reserved $DEMO=1
[/no_steam]:  Set Reserved $NO_STEAM=1
[/qtdebug]:    Set Reserved $QTDEBUG=1
[/no_ceg]:    Set Reserved $NO_CEG=1
[/upload_ceg]: Set Reserved $UPLOAD_CEG=1
 
--- Other ---
[/mksln]:      <.sln filename> - make a solution file
[/p4sln]:      <.sln filename> <changelists...> - make a solution file based on
              the changelist. Changelists can be specific numbers, 0 or "default"
              for the default changelist, or "all" for all active changelists.
[/nop4add]:    Don't automatically add project files to Perforce
[/slnitems]:  <filename> - adds all files listed in <filename> to generated
              solutions
[/showdeps]:  Show an example dependency chain for each project that depends
              on your p4 change list(s).  Use with /p4sln.
[/checkfiles]: Check for the existence of files in $file commands. For debugging vpc files.
              Only works if the currrent directory is the project directory.
[/define:xxx]: Enable a custom conditional $XXX to use for quick testing in VPC files.

Latest revision as of 13:06, 4 September 2024

English (en)Translate (Translate)

The Valve Project Creator generates project and makefiles for the Source SDK.

For more information about building the Source SDK, see Source SDK 2013. To learn more about editing VPC scripts, visit Editing VPC scripts.

How to use

Valve Project Creator is a command-line tool, so you'll have to use the command-prompt window.

An example for a command using the command prompt:

C:\Users\someguy\Desktop\source-sdk-2013\mp\src\devtools\bin>vpc /h 

This will print out the help information seen below.

Another example:

C:\Users\someguy\Desktop\source-sdk-2013\mp\src\devtools\bin>vpc +shaders /hl2mp

This command will create the project file(s) for the shaders project group for the Source 2013 Multiplayer branch.

VPC Help Information

VPC - Valve Project Creator For Visual Studio, Xbox 360, PlayStation 3, Xcode and Make (Build: Aug 27 2014 12:55:48)
(C) Copyright 1996-2010, Valve Corporation, All rights reserved.

Source Path: D:\Games\Steam\SteamApps\sourcemods\assets\code-2013
Target Platform: win32
Generating for Visual Studio 2013.

usage: vpc [options] <+/-/*project or group>

Examples:

  Single .vcproj generation:
    vpc +client /hl2     <-- Creates a Win32 .vcproj for the HL2 client.
    vpc +shaderapi /x360 <-- Creates a Xbox360 .vcproj for the shaderapi.

  Multiple .vcproj generation - Multiple Projects for Games and Platforms:
    vpc +client /hl2 /tf           <-- Creates ALL the Win32 .vcprojs for the HL2 and TF client.
    vpc +gamedlls /allgames        <-- Creates ALL the Win32 .vcprojs for client and server for all GAMES.
    vpc +tools -tier0 /win32 /x360 <-- Creates ALL the Win32 and Xbox360 .vcprojs for the tool projects but not the tier0 project.

  Use +/- to add or remove projects or groups.
  Use *   to add a project and all projects that depend on it.
  Use @   to add a project and all projects that it depends on.
  Use /h spew final target build set only (no .vcproj created).

  Further details can be found on Valve Internal Wiki on VPC.

--- OPTIONS ---
[/q]:          Quiet mode (quiet mode is automatically on if the VPC_QUIET environment variable is set)
[/v]:          Verbose
[/f]:          Force generate .vcproj, otherwise use crc checks
[/dp]:         Decorate project names with platform
[/testmode]:   Override output .vcproj file to be named 'test.vcproj'
[/srcctl]:     Enable source control integration
[/2013]:       Generate projects and solutions for Visual Studio 2013 [default]
[/2012]:       Generate projects and solutions for Visual Studio 2012
[/2010]:       Generate projects and solutions for Visual Studio 2010
[/2005]:       Generate projects and solutions for Visual Studio 2005
[/nounity]:    Disable unity file generation

--- Help ---
[/h]:          Help
[/?]:          Help
[/platforms]:  Spew Platforms
[/games]:      Spew Games
[/projects]:   Spew Projects
[/groups]:     Spew Groups
[/properties]: Spew VS2005 Properties

--- Conditionals ---
[/profile]:    Set Reserved $PROFILE=1
[/retail]:     Set Reserved $RETAIL=1
[/callcap]:    Set Reserved $CALLCAP=1
[/fastcap]:    Set Reserved $FASTCAP=1
[/nofpo]:      Set Reserved $NOFPO=1
[/lv]:         Set Reserved $LV=1
[/demo]:       Set Reserved $DEMO=1
[/no_steam]:   Set Reserved $NO_STEAM=1
[/qtdebug]:    Set Reserved $QTDEBUG=1
[/no_ceg]:     Set Reserved $NO_CEG=1
[/upload_ceg]: Set Reserved $UPLOAD_CEG=1

--- Other ---
[/mksln]:      <.sln filename> - make a solution file
[/p4sln]:      <.sln filename> <changelists...> - make a solution file based on
               the changelist. Changelists can be specific numbers, 0 or "default"
               for the default changelist, or "all" for all active changelists.
[/nop4add]:    Don't automatically add project files to Perforce
[/slnitems]:   <filename> - adds all files listed in <filename> to generated
               solutions
[/showdeps]:   Show an example dependency chain for each project that depends
               on your p4 change list(s).  Use with /p4sln.
[/checkfiles]: Check for the existence of files in $file commands. For debugging vpc files.
               Only works if the currrent directory is the project directory.
[/define:xxx]: Enable a custom conditional $XXX to use for quick testing in VPC files.