diff --git a/reactos/tools/rbuild/module.cpp b/reactos/tools/rbuild/module.cpp index 6f71b952c86..1ead4f12ea4 100644 --- a/reactos/tools/rbuild/module.cpp +++ b/reactos/tools/rbuild/module.cpp @@ -452,6 +452,8 @@ Module::Module ( const Project& project, } if ( att != NULL ) allowWarnings = att->value == "true"; + else if ( project.allowWarningsSet ) + allowWarnings = project.allowWarnings; else allowWarnings = false; diff --git a/reactos/tools/rbuild/project.cpp b/reactos/tools/rbuild/project.cpp index 8366ce9664d..f8ab63d4681 100644 --- a/reactos/tools/rbuild/project.cpp +++ b/reactos/tools/rbuild/project.cpp @@ -298,6 +298,11 @@ Project::ProcessXML ( const string& path ) assert(att); makefile = Environment::GetAutomakeFile ( att->value ); + att = node->GetAttribute ( "allowwarnings", false ); + allowWarningsSet = att != NULL; + if ( att != NULL ) + allowWarnings = att->value == "true"; + size_t i; for ( i = 0; i < node->subElements.size (); i++ ) { diff --git a/reactos/tools/rbuild/project.dtd b/reactos/tools/rbuild/project.dtd index 87b37ef4d5b..dad95b0f4d0 100644 --- a/reactos/tools/rbuild/project.dtd +++ b/reactos/tools/rbuild/project.dtd @@ -137,6 +137,7 @@ diff --git a/reactos/tools/rbuild/rbuild.h b/reactos/tools/rbuild/rbuild.h index 0d2d3be90a5..0365926775c 100644 --- a/reactos/tools/rbuild/rbuild.h +++ b/reactos/tools/rbuild/rbuild.h @@ -237,6 +237,8 @@ public: std::map modules; IfableData non_if_data; IfableData host_non_if_data; + bool allowWarnings; + bool allowWarningsSet; Project ( const Configuration& configuration, const std::string& filename,