X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuildercli.h;h=3b15541b6e65eed515924db15994bf6fe6bf39ca;hb=d1f9551e05c9d341149eb490e05b1465d3d6b711;hp=ac8875231ff27ddba88fa6844edc33a31c67c115;hpb=1dad660f7bbda5ef3239fd6374e0f8a77e19eaaa;p=builder.git diff --git a/source/buildercli.h b/source/buildercli.h index ac88752..3b15541 100644 --- a/source/buildercli.h +++ b/source/buildercli.h @@ -6,43 +6,43 @@ class Analyzer; +/** +Provides a command-line interface for Builder. +*/ class BuilderCLI: public Msp::RegisteredApplication { private: - typedef std::list NameList; - - NameList cmdline_targets; + std::vector 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; - bool show_progress; - std::string build_file; - unsigned jobs; - NameList what_if; - bool conf_all; - bool conf_only; - bool build_all; - bool create_makefile; - - static std::string usagemsg; - static std::string helpmsg; + Analyzer *analyzer = 0; + bool build = false; + unsigned clean = 0; + bool dry_run = false; + bool help = false; + std::string helpmsg; + bool show_progress = false; + std::string build_file = "Build"; + unsigned jobs = 1; + std::vector 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 &); - static void usage(const char *, const char *, bool); void package_help(); };