I'm using VC6 and support multiple versions or releases of our software. In doing so my root development drive location changes to find headers and things. The VAX documentation on directories shows a bitmap with what appears to be enviroment variables. I'm curious does VAX support this for both include and source paths. And are there any limitations?
For example I would have a devroot environment variable:
set devroot=c:\\dev\\Release1
I would launch msdev with that environment variable (and others) set.
Then in the VAX options dialog can I specify a bunch of includes in the C/C++ Custom includes as such:
VA X is reasonably good about respecting environment variables, particularly in VC++ 6.0 and VS.NET 2003. (VS.NET 2002 has a bug which prevents us from resolving a file in a project if the file name includes an env variable.)
Can we assume you use $(env) in the IDE options dialog? VA X will read those values. You might not need to change Platform to Custom.
Try your example. Switch Platform to Custom only if necessary and set both Stable Include and Library Source files in our options dialog.
Create a simple project that includes a foo.h from our "stable" include files, eg MFC, and from your project headers (more likely the case for you.) Click on the #include(s) and you see the full path(s) in our Definition field. Change devroot and reopen your project. Check the Definition field.
If stable include files change, ie a different MFC for each revision of your application, press Rebuild on our Performance tab and restart your IDE to force VA X to reparse the stable includes. They are not normally reparsed otherwise.
I currently rely on using msdev with the /useenv switch. This pulls in the INCLUDE, LIB, SOURCE, and PATH environment variables as seen on the msdev's Options Directories tab. I haven't been able to set any environment variables there using $(env) syntax.