• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[[bbv2.reference.class.basic-target]]
2= Class basic-target
3
4[source]
5----
6class basic-target : abstract-target {
7    rule __init__ ( name : project : sources * : requirements * : default-build * : usage-requirements * )
8    rule generate ( property-set )
9    rule construct ( name : source-targets * : property-set )
10
11    # Methods inherited from abstract-target
12    rule name ( )
13    rule project ( )
14    rule location ( )
15    rule full-name ( )
16}
17----
18
19Implements the most standard way of constructing main target alternative
20from sources. Allows sources to be either files or other main targets
21and handles generation of those dependency targets.
22
23--
241. `rule __init__ ( name : project : sources * : requirements * : default-build * : usage-requirements * )`
25+
26`name`::
27  The name of the target
28`project`::
29  The link:#bbv2.reference.class.project-target[project] in which the
30  target is declared.
31
322. [[bbv2.reference.class.basic-target.generate]] `rule generate ( property-set )`
33+
34Overrides
35link:#bbv2.reference.class.abstract-target.generate[abstract-target.generate].
36Determines final build properties, generates sources, and calls
37link:#bbv2.reference.class.basic-target.construct[construct]. This
38method should not be overridden.
39+
40On success, returns:
41+
42* a property-set with the usage requirements to be applied to dependents
43* a list of produced virtual targets, which may be empty.
44
453. [[bbv2.reference.class.basic-target.construct]] `rule construct ( name : source-targets * : property-set )`
46+
47Constructs virtual targets for this abstract target. Returns a
48usage-requirements property-set and a list of virtual targets. Should be
49overridden in derived classes.
50--
51