9 Include::Include ( const Project
& project_
,
10 const XMLElement
& includeNode
)
18 Include::Include ( const Project
& project_
,
19 const Module
* module_
,
20 const XMLElement
& includeNode
)
40 const XMLAttribute
* att
;
41 att
= node
.GetAttribute ( "base",
46 throw InvalidBuildFileException (
48 "'base' attribute illegal from global <include>" );
49 bool referenceResolved
= false;
50 if ( att
->value
== project
.name
)
53 referenceResolved
= true;
57 const Module
* base
= project
.LocateModule ( att
->value
);
60 basePath
= base
->GetBasePath ();
61 referenceResolved
= true;
64 if ( !referenceResolved
)
65 throw InvalidBuildFileException (
67 "<include> attribute 'base' references non-existant project or module '%s'",
69 directory
= FixSeparator ( basePath
+ "/" + node
.value
);
72 directory
= FixSeparator ( node
.value
);