using namespace Msp;
BuilderCLI::BuilderCLI(int argc, char **argv):
+ RegisteredApplication<BuilderCLI>("builder"),
analyzer(0),
build(false),
clean(0),
package_manager.append_package_path(cwd);
package_manager.append_package_path(cwd/"..");
- package_manager.append_binary_package_path(FS::get_sys_data_dir(argv[0], "builder")/"packages");
+ package_manager.append_binary_package_path(FS::get_sys_data_dir()/"packages");
package_manager.set_no_externals(no_externals);
- builder.set_architecture(arch);
+ builder.set_architecture(tolower(arch));
list<FS::Path> start_files;
- start_files.push_back(FS::get_sys_data_dir(argv[0], "builder")/"builderrc");
- start_files.push_back(FS::get_user_data_dir("builder")/"rc");
+ start_files.push_back(FS::get_sys_data_dir()/"builderrc");
+ start_files.push_back(FS::get_user_data_dir()/"rc");
for(list<FS::Path>::const_iterator i=start_files.begin(); i!=start_files.end(); ++i)
if(FS::exists(*i))
builder.load_build_file(*i);
{
FS::Path main_file = cwd/build_file;
if(FS::exists(main_file))
+ {
builder.load_build_file(main_file, &cmdline_options, conf_all);
+ if(!dry_run && !cmdline_options.empty())
+ builder.save_caches();
+ }
else if(!help)
{
IO::print(IO::cerr, "The file %s does not exist.\n", main_file);
if(build)
exit_code = builder.build(jobs, dry_run, show_progress);
+ if(!dry_run)
+ builder.save_caches();
+
return exit_code;
}