Project Object

This object describes basic information about the project such as the name, the version and the URL.

Object path:

/project

Properties

Type(s)

Mandatory

Comments

name

string

True

The name of the project

version

string

True

The version string of the project

url

string

False

The homepage URL of the project

license

string

False

The homepage URL of the project

Requires

The require object describes a set of requirements for a given project. Each requirement may specify a set of defines and variables. An example of require may be a given library, a header or a pkg-config package.

Object path:

/requires/<require name>

Key

Type(s)

Mandatory

Comments

type

string

True

The type of require, currently supported "package" as in pkg-config package. Headers, types and functions are next

version

string

False

For pkg-config packages, the minimum version of the requirement. You can append >= <= or == to the version string for atleast/max/equal version support.

Targets

This object describes a target to be compiled and/or installed from a given input. The name of the target will be used as the name of the output file without any additional extensions. Every target uses a tool (or compiler) for the output generation, and each tool has a list of supported output types. For example, the C compiler can compile a program, a static library or a shared library.

Object path:

/targets/<target name>

Key

Type(s)

Mandatory

Comments

tool

string

True

The compilation/transforming tool for this target

type

string

True

The target type, each tool has a list of supported types

input

string

True

The list of input files (TODO: Allow ANT glob patterns and specify singletons as strings)

uses

list<strings>

False

The list of shared or static libraries, targets or requires to link against

packages

list<strings>

False

The list of pkg-config pacakages (/requires/*/type = package) to link against

Attic/BuilDj/Spec (last edited 2013-11-25 12:53:39 by WilliamJonMcCann)