The CrossStudio project system provides a means to create new properties that
change a number project property settings and can also set C pre-processor definitions when selected.
Such properties are called property groups and are defined in a property groups file. The property
group file to use for a project is defined by the Property Groups File
property. These
files usually define target specific properties and are structured using XML syntax to enable simple
construction and parsing.
The first entry of the property groups file defines the XML document type which is used to validate the file format.
<!DOCTYPE CrossStudio_Group_Values>
The next entry is the propertyGroups element; which is used to group a set of property groups entries into an XML hierarchy.
<propertyGroups> <group.... .... <group.... </propertyGroups>
Each group has the name of the group (attribute name
), the name of the options category
(attribute group
), short (attribute short
) and long (attribute long
) help
descriptions and a default value (attribute default
).
<group short="Target Processor" group="Build Options" short="Target Processor" long="Select a set of target options" name="Target" default="STR912FW44"/>
Each group has a number of groupEntry elements that define the enumerations of the group.
<group...> <groupEntry.... .... <groupEntry.... </group>
Each groupEntry has the name of the entry (attribute name
)
<groupEntry name="STR910FW32">
A groupEntry has the property values and C pre-processor definitions that are set when the groupEntry
is selected which are specified with property
and cdefine
elements.
<groupEntry...> <property.... <cdefine.... <property.... </groupEntry>
A property element has the property name (attribute name
), its value (attribute value
)
and an optional configuration (attribute configuration
).
<property name="linker_memory_map_file" value="$(StudioDir)/targets/ST_STR91x/ST_STR910FM32_MemoryMap.xml"/>
A cdefine element has the C preprocessor name (attribute name
) and its value (attribute value
).
<cdefine value="STR910FM32" name="TARGET_PROCESSOR">