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

Reply via email to