Display a message when a module has been disabled

Support variables in aliased module names

svn path=/trunk/; revision=29175
This commit is contained in:
Hervé Poussineau 2007-09-24 09:15:49 +00:00
parent d0f1fadb7b
commit c27dad3928

View file

@ -251,9 +251,13 @@ Module::Module ( const Project& project,
xmlbuildFile = Path::RelativeFromWorkingDirectory ( moduleNode.xmlFile->filename () ); xmlbuildFile = Path::RelativeFromWorkingDirectory ( moduleNode.xmlFile->filename () );
const XMLAttribute* att = moduleNode.GetAttribute ( "name", true );
assert(att);
name = att->value;
enabled = true; enabled = true;
const XMLAttribute* att = moduleNode.GetAttribute ( "if", false ); att = moduleNode.GetAttribute ( "if", false );
if ( att != NULL ) if ( att != NULL )
enabled = GetBooleanValue ( project.ResolveProperties ( att->value ) ); enabled = GetBooleanValue ( project.ResolveProperties ( att->value ) );
@ -261,9 +265,8 @@ Module::Module ( const Project& project,
if ( att != NULL ) if ( att != NULL )
enabled = !GetBooleanValue ( project.ResolveProperties ( att->value ) ); enabled = !GetBooleanValue ( project.ResolveProperties ( att->value ) );
att = moduleNode.GetAttribute ( "name", true ); if ( !enabled && project.configuration.Verbose )
assert(att); printf("Module '%s' has been disabled.\n", name.c_str () );
name = att->value;
att = moduleNode.GetAttribute ( "type", true ); att = moduleNode.GetAttribute ( "type", true );
assert(att); assert(att);
@ -483,6 +486,7 @@ Module::ProcessXML()
{ {
if ( type == Alias ) if ( type == Alias )
{ {
aliasedModuleName = project.ResolveProperties ( aliasedModuleName );
if ( aliasedModuleName == name ) if ( aliasedModuleName == name )
{ {
throw XMLInvalidBuildFileException ( throw XMLInvalidBuildFileException (
@ -491,7 +495,7 @@ Module::ProcessXML()
name.c_str() ); name.c_str() );
} }
const Module* m = project.LocateModule ( aliasedModuleName ); const Module* m = project.LocateModule ( aliasedModuleName );
if ( !m ) if ( !m && enabled )
{ {
throw XMLInvalidBuildFileException ( throw XMLInvalidBuildFileException (
node.location, node.location,
@ -1602,7 +1606,7 @@ Property::Property ( const XMLElement& node_,
att = node_.GetAttribute ( "name", true ); att = node_.GetAttribute ( "name", true );
assert(att); assert(att);
name = att->value; name = project.ResolveProperties ( att->value );
att = node_.GetAttribute ( "value", true ); att = node_.GetAttribute ( "value", true );
assert(att); assert(att);