class Analyzer;
+/**
+Provides a command-line interface for Builder.
+*/
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;
unsigned clean;
bool dry_run;
bool help;
+ std::string helpmsg;
bool show_progress;
std::string build_file;
unsigned jobs;
- NameList what_if;
+ std::vector<std::string> what_if;
bool conf_all;
bool conf_only;
bool build_all;
bool create_makefile;
- static std::string usagemsg;
- static std::string helpmsg;
-
public:
BuilderCLI(int, char **);
~BuilderCLI();
- virtual int main();
+ int main() override;
+private:
bool prepare_build();
+ Target *resolve_target(const std::string &);
- static void usage(const char *, const char *, bool);
void package_help();
};