X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuildercli.cpp;h=629231814a0012a152a0222b29800dd4765b267c;hb=d6d1d6ef8f589747b996f223c6c65dd293fedd93;hp=35eba9c03512fe9024c68aad1fe5e986cb9357de;hpb=28bc25948ff58612600ce29a6a0b2cf58548dff9;p=builder.git diff --git a/source/buildercli.cpp b/source/buildercli.cpp index 35eba9c..6292318 100644 --- a/source/buildercli.cpp +++ b/source/buildercli.cpp @@ -121,14 +121,16 @@ BuilderCLI::BuilderCLI(int argc, char **argv): else if(!clean && !create_makefile) build = true; - const vector &args = getopt.get_args(); - for(vector::const_iterator i=args.begin(); i!=args.end(); ++i) + for(NameList::iterator i=cmdline_targets.begin(); i!=cmdline_targets.end(); ) { string::size_type equal = i->find('='); if(equal!=string::npos) + { cmdline_options.insert(Config::InputOptions::value_type(i->substr(0, equal), i->substr(equal+1))); + cmdline_targets.erase(i++); + } else - cmdline_targets.push_back(*i); + ++i; } if(!work_dir.empty()) @@ -313,11 +315,7 @@ bool BuilderCLI::prepare_build() build_graph.force_full_rebuild(); if(!dry_run) - { - const PackageManager::PackageMap &packages = package_manager.get_packages(); - for(PackageManager::PackageMap::const_iterator i=packages.begin(); i!=packages.end(); ++i) - i->second->save_caches(); - } + package_manager.save_all_caches(); return true; }