I also want to add something I've been doing with some success is making a new VPC, including the stock ones to a new vpc, and adding your custom files to it. As you add stuff that conflicts with the base one (game client hl2mp or whatever), you minus the file, so eg:
$Include "$SRCDIR\game\server\server_hl2mp.vpc" $Project "Server (FF)" { $Folder "Source Files" { $Folder "HL2 DLL" { -$File "$SRCDIR\game\shared\hl2\hl_gamemovement.cpp" } $Folder "MyCoolMod" { $File "$SRCDIR\game\shared\mymod\mymod_gamemovement.cpp" } } } however once you do this, you have to update your vpc groups & projects (vpc_scripts\groups.vpc / projects.vpc) to include your new mod vpc. I actually use new copies of those as well so updating from valve github doesnt blow anything up. default.vgc is the 'toplevel' for createprojects in the root src folder to find the rest On Fri, Apr 18, 2014 at 5:25 AM, Krzysztof Lesiak <wave....@hotmail.com> wrote: > Basically, you just modify the VPC script of the project you'd like to add > files to, e.g. server_hl2.vpc. For example, I've made a new filter for > headers and source files in both hl2/episodic client and server projects, so > the files I had to modify were server_base.vpc and client_base.vpc. Adding > the files themselves is pretty straightforward, just add a line with $File > and the path to the file to the desired $Folder. > > Keep in mind that I haven't tested compiling on Linux yet, so I can't > confirm if it works, but it shouldn't be a problem since VS solutions are > generated nicely on both of my devices. It's just that bit of extra work to > add your own files to the vpc scripts, but it's surely worth it when doing > cross-platform development. > Concerning your second question, I can't really give you an answer since I'm > not familiar with development on Unix systems at all. > > Best regards, > Krzysztof > > From: eric brown > Sent: Wednesday, 16 April, 2014 03:16 > To: hlcoders@list.valvesoftware.com > > Hey Joel, > > Could you guys post some examples of how to use VPC to add files to projects > so that they work across Windows/Mac/Linux? > > Also, why are the Linux Makefiles so big? Why not just use a simple > Makefile for Linux/Mac that uses more implicit rules, perhaps something like > this: > > LIBS := tier1.a tier2.a ... > CLI_OBJS := hl2mp_player.o ... > $(CLI_OBJS): CPPFLAGS += -DSOME_CLIENT_FLAGS > clien.so($(CLI_OBJS)): $(CLI_OBJS) $(LIBS) > VPATH += src/game/client src/game/server src/game/shared .... > > This could eliminate an Xcode dependency (Xcode's build format/schemas will > change faster than you like), it would make it easier to support Mac and > Linux simultaneously, and it would make the Unix makefiles much more > understandable :) > > Best, > Eric > > > ________________________________ > From: wave....@hotmail.com > To: hlcoders@list.valvesoftware.com > Date: Mon, 14 Apr 2014 20:40:41 +0000 > Subject: Re: [hlcoders] Working on multiple devices > > Yeah, I know. There's also .filters files for the folder structure inside > the projects, but for now, I've decided to make changes to .vpc files > instead of modifying solution/project files because of easier porting later > on (also due to the suggestion of that Valve? developer, > http://steamcommunity.com/app/211/discussions/1/630800445305139250/?insideModal=1). > If I become more familiar with the formats, I might write a little tool for > that, so I don't have to add files and filters manually, but for now, > that'll do. > > From: Joel R. > Sent: Monday, 14 April, 2014 20:53 > To: hlcoders@list.valvesoftware.com > > The project files are like this: > > The .sln and .vcproj files contain the project folder structure, > dependencies, references, etc. These you should be committing. However, > make sure to edit property stuff like the Debug Command Line paths to use > Environment Variables. You can easily call env vars by doing $(ENV_NAME). > Create a readme.txt/setup.txt that lists these env vars and commit it, so > you/others know what to setup. > > The ones that are more user specific, with things like color schemes, syntax > highlighting, etc. would be in the .suo file. These are usually hidden > files, but might not be, and you can have git/svn ignore these. You can > also ignore all the build stuff like obj/property folders. .pdb files are > usually quite large, so you can ignore them too, unless you have a stable > build and you need it for debugging purposes. > > > On Mon, Apr 14, 2014 at 1:25 PM, Krzysztof Lesiak <wave....@hotmail.com> > wrote: > > Ok, this question is more management-related: I'm keeping my modified SDK > code in a Github repo, but I'd like to be able to work on multiple devices. > By default, project files are not synced, so the problem is, that while I > sync all my source files and have them e.g. on my laptop, they are not in > their respective places in the project and I'd have to add them manually on > the other device, which is tedious and not really possible when I'm away > from my PC, since I don't remember the exact place where I've put them. > This brings me to my question: should I just sync project/solution/filters > files OR should I add some lines to the .vpc file every time I add a new > file/filter? The latter seems to be a good solution when attempting to > compile on Linux at a later point, but I'd probably have to write a tool for > that, since adding filenames manually is tedious and error prone. > > What's your opinion on that? > > Krzysztof > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders > > > > > _______________________________________________ To unsubscribe, edit your > list preferences, or view the list archives, please visit: > https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders > _______________________________________________ To unsubscribe, edit your > list preferences, or view the list archives, please visit: > https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders > > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders