You can use macros to modify the way the project system refers to files.
Macros are divided into four classes:
-
System macros defined by CrossStudio relay information about the
environment, such as paths to common directories.
-
Global macros are saved in the environment and are shared across
all solutions and projects. Typically, you would set up paths to libraries
and any external items here.
-
Project macros are saved as project properties in the project file
and can define values specific to the solution or project in which they are
defined.
-
Build macros are generated by the project system when you build
your project.
System macros
System macros are defined by CrossStudio itself and as such are read-only.
System macros can be used in project properties, environment settings
and to refer to files. See System macros list
for the list of System macros.
Global macros
To define a global macro:
- Choose Project > Macros.
- Select the Global tab.
- Set the macro using the syntax name = replacement text.
Project macros
To define a project macro:
- Choose Project > Macros.
- Select the Project tab.
- Select the solution or project to which the macro should apply.
- Set the macro using the syntax name = replacement text.
Alternatively, you can set the project macros from the Properties window:
- Select the appropriate solution/project in the Project Explorer.
- In the Properties window's General Options group, select the Macros property.
- Click the ellipsis button on the right.
- Set the macro using the syntax name = replacement text.
Build macros
Build macros are defined by the project system for a build of a
given project node. See Build macros list
for the list of build macros.
Using macros
You can use a macro for a project property or environment setting by using the
$(macro) syntax. For example, the Object File Name property has a default
value of $(IntDir)/$(InputName)$(OBJ).
You can also specify a default value for a macro if it is undefined using
the $(macro:default) syntax. For example, $(MyMacro:0) would
expand to 0 if the macro MyMacro has not been defined.