class BuilderCLI: public Msp::RegisteredApplication<BuilderCLI>
{
private:
- typedef std::list<std::string> NameList;
-
- NameList cmdline_targets;
+ std::vector<std::string> cmdline_targets;
Config::InputOptions cmdline_options;
Msp::FS::Path cwd;
Builder builder;
Logger logger;
- Analyzer *analyzer;
- bool build;
- unsigned clean;
- bool dry_run;
- bool help;
+ Analyzer *analyzer = 0;
+ bool build = false;
+ unsigned clean = 0;
+ bool dry_run = false;
+ bool help = false;
std::string helpmsg;
- bool show_progress;
- std::string build_file;
- unsigned jobs;
- NameList what_if;
- bool conf_all;
- bool conf_only;
- bool build_all;
- bool create_makefile;
+ bool show_progress = false;
+ std::string build_file = "Build";
+ unsigned jobs = 1;
+ std::vector<std::string> what_if;
+ bool conf_all = false;
+ bool conf_only = false;
+ bool build_all = false;
+ bool create_makefile = false;
public:
BuilderCLI(int, char **);
~BuilderCLI();
- virtual int main();
+ int main() override;
private:
bool prepare_build();
+ Target *resolve_target(const std::string &);
void package_help();
};