MCPcopy Create free account
hub / github.com/boostorg/build / construct

Method construct

src/manager.py:83–109  ·  view source on GitHub ↗

Constructs the dependency graph. properties: the build properties. targets: the targets to consider. If none is specified, uses all.

(self, properties = [], targets = [])

Source from the content-addressed store, hash-verified

81 self.command_line_free_features_ = v
82
83 def construct (self, properties = [], targets = []):
84 """ Constructs the dependency graph.
85 properties: the build properties.
86 targets: the targets to consider. If none is specified, uses all.
87 """
88 if not targets:
89 for name, project in self.projects ().projects ():
90 targets.append (project.target ())
91
92 property_groups = build_request.expand_no_defaults (properties)
93
94 virtual_targets = []
95 build_prop_sets = []
96 for p in property_groups:
97 build_prop_sets.append (property_set.create (feature.split (p)))
98
99 if not build_prop_sets:
100 build_prop_sets = [property_set.empty ()]
101
102 for build_properties in build_prop_sets:
103 for target in targets:
104 result = target.generate (build_properties)
105 virtual_targets.extend (result.targets ())
106
107 actual_targets = []
108 for virtual_target in virtual_targets:
109 actual_targets.extend (virtual_target.actualize ())
110

Callers

nothing calls this directly

Calls 4

projectsMethod · 0.95
appendMethod · 0.80
emptyMethod · 0.80
targetsMethod · 0.80

Tested by

no test coverage detected