The CrossStudio New Project Dialog works from a file called project_templates.xml
which is held in the targets
subdirectory of the CrossStudio installation directory.
We anticipate that you may want to add your own new project types
so they are structured using XML syntax to enable simple construction and parsing.
The first entry of the project file defines the XML document type which is used to validate the file format.
<!DOCTYPE Project_Templates_File>
The next entry is the projects element; which is used to group a set of new project entries into an XML hierarchy.
<projects>
<project....
</projects>
Each project entry has a project element that contains
the class of the project (attribute caption
), the name of the
project (attribute name
), it's type (attribute type
)
and a description (attribute description
).
<project caption="ARM Evaluator7T" name="Executable" description=&uot;An executable for an ARM Evaluator7T." type="Executable"/>
The project type can be one of
The configurations that are to be created for the project are defined using the configuration
element. The configuration element must have a name
attribute.
<configuration name="ARM RAM Release"/>
The property values to be created for the project are defined using the property
element. If you
have a defined value then you can specify this using the value
attribute and optionally set the
property in a defined configuration
.
<property name="target_reset_script" configuration="RAM" value="Evaluator7T_ResetWithRamAtZero()"/>
Alternatively you can include a property that will be shown to the user who can supply a value as part of the new project process.
<property name="linker_output_format"/>
The folders to be created are defined using the folder
element. The folder element must have
a name
attribute and can also have a filter
attribute.
<folder name="Source Files" filter="c;cpp;cxx;cc;h;s;asm;inc"/>
The files to be in the project are specified using the file
element. You can use
build system macros to specify files that are in the CrossStudio
installation directory. Files will be copied to the project directory or just left as references
based on the value of the expand
attribute.
<file name="$(StudioDir)/source/crt0.s" expand="no"/>
You can define the set of configurations that can be referred to in the the
top-level configurations
element.
<configurations>
<configuration....
</configurations>
This contains the set of all configurations that can be created when a project is created. Each
configuration is defined using a configuration
element which can define the property values
for that configuration.
<configuration name="Debug">
<property name="build_debug_information" value="Yes"/>