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