VS Project Property Sheet
VS project property sheet
As projects in a solution grow more and more, the project setting management will be more and more complicated. Modifying one by one will be hard work and easy to cause mistakes. Luckily, VS has already provides us a way to manage such area work by "Property Manager" which can create/edit finally manage "Project property sheet" thing.
1. Several Concepts
--Project Property Sheet
A project property sheet is an .xml file with the extension .vsprops. You can use property sheets to create project configurations that can be applied to multiple projects since project settings that are defined in .vsprops files are inheritable, unlike project settings defined in Project Files (.vcproj files). Therefore, a project configuration defined in a .vcproj file can inherit project settings from one or more property sheets (.vsprops files).
--User-defined Macros
We will always see a lot of predefined macros like $(solution), $(outdir). We can define ours by project property sheet. There is a "User Macros" there. They are defined in .vsprops files directly.
Note: there are actually two ways to define user-defined macros: one is described as above; the other is to define them directly as environment variables.
2. How to use a Project property sheet
1) Create one. Use property manager.
2) In every C++ project setting's general area, there is a "Inherited Project Property Sheets", where we can specify those .vsprops files to inherit from.
3) To inherit the settings: for those setting which can have only one input like "Output directory", you can choose "inherit from parent or project defaults” directly; for those settings which can have multiply inputs like "Additional Include Directory", the inheritance is done automatically.
In a word, for a solution, if preparing well a .vsprops to contain common settings, and let it be inherited by its projects, we can manage project settings easily!
Note this article into blog: http://www.itwis.com/html/c/ctool/20070904/1.html