aboutsummaryrefslogtreecommitdiff
path: root/src/builder.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/builder.cpp38
1 files changed, 37 insertions, 1 deletions
diff --git a/src/builder.cpp b/src/builder.cpp
index 4d377a8..1e916ab 100644
--- a/src/builder.cpp
+++ b/src/builder.cpp
@@ -134,7 +134,14 @@ void Builder::addListFunc()
134 134
135void Builder::filterList() 135void Builder::filterList()
136{ 136{
137 printf("Filters aren't done yet.\n"); 137 StringList lTmp2;
138 StringList lIn = buildToStringList( lTmp, StringList() );
139 pTmpFunc->execute( lIn, lTmp2 );
140 lTmp.clear();
141 for( StringList::iterator i = lTmp2.begin(); i != lTmp2.end(); i++ )
142 {
143 lTmp.push_back( BuildListItem( *i, NULL ) );
144 }
138} 145}
139 146
140StringList Builder::buildToStringList( const BuildList &lSrc, const StringList &lIn ) 147StringList Builder::buildToStringList( const BuildList &lSrc, const StringList &lIn )
@@ -353,6 +360,21 @@ Build *Builder::genBuild()
353{ 360{
354 Build *bld = new Build; 361 Build *bld = new Build;
355 362
363 for( SetVarList::iterator i = lGlobalVars.begin();
364 i != lGlobalVars.end(); i++ )
365 {
366 switch( (*i).third )
367 {
368 case setSet:
369 bld->set( "", (*i).first, (*i).second );
370 break;
371
372 case setAdd:
373 bld->setAdd( "", (*i).first, (*i).second );
374 break;
375 }
376 }
377
356 for( TargetTmpList::iterator i = lTargetTmp.begin(); 378 for( TargetTmpList::iterator i = lTargetTmp.begin();
357 i != lTargetTmp.end(); i++ ) 379 i != lTargetTmp.end(); i++ )
358 { 380 {
@@ -388,6 +410,20 @@ Build *Builder::genBuild()
388 { 410 {
389 bld->addRequires( (*j), (*k) ); 411 bld->addRequires( (*j), (*k) );
390 } 412 }
413 for( SetVarList::iterator k = (*i).second.lVar.begin();
414 k != (*i).second.lVar.end(); k++ )
415 {
416 switch( (*k).third )
417 {
418 case setSet:
419 bld->set( *j, (*k).first, (*k).second );
420 break;
421
422 case setAdd:
423 bld->setAdd( *j, (*k).first, (*k).second );
424 break;
425 }
426 }
391 } 427 }
392 } 428 }
393 429