From eecddf878f98bb921622a5a5bb2600aedb5a53fa Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 8 Mar 2015 19:38:15 +0100 Subject: o Improved SQL output. --- apps/apps.cpp | 53 +++++++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 24 deletions(-) (limited to 'apps/apps.cpp') diff --git a/apps/apps.cpp b/apps/apps.cpp index ca7cd81..edfb556 100644 --- a/apps/apps.cpp +++ b/apps/apps.cpp @@ -22,42 +22,47 @@ void setup_logging(po::variables_map vm) { } int launch_app(int argc, char *argv[], app& app) { - po::options_description desc("Options"); + po::options_description all("Options"); - auto x = desc.add_options(); - app.add_options(x); + auto all_options = all.add_options(); + app.add_options(all_options); - desc.add(logging_options()); + all.add(logging_options()); + app.add_extra_options(all); po::variables_map vm; - auto parsed = po::parse_command_line(argc, argv, desc); - po::store(parsed, vm); - - app_execution execution(desc, vm); try { + auto parsed = po::parse_command_line(argc, argv, all); + po::store(parsed, vm); + po::notify(vm); - } catch (boost::program_options::required_option &e) { - cerr << "Missing required option: " << e.get_option_name() << endl; - execution.usage(); - return EXIT_FAILURE; - } - auto unrecognized = po::collect_unrecognized(parsed.options, po::include_positional); + auto unrecognized = po::collect_unrecognized(parsed.options, po::include_positional); - if (vm.count("help")) { - cerr << desc << "\n"; - return EXIT_FAILURE; - } + if (vm.count("help")) { + cerr << all << "\n"; + return EXIT_FAILURE; + } - if (unrecognized.size()) { - cerr << "Unrecognized option: " << unrecognized.at(0) << "\n"; - return EXIT_FAILURE; - } + if (unrecognized.size()) { + cerr << "Unrecognized option: " << unrecognized.at(0) << "\n"; + return EXIT_FAILURE; + } - setup_logging(vm); + setup_logging(vm); - return app.main(execution); + app_execution execution(all, vm); + + return app.main(execution); + } catch (po::required_option &e) { + cerr << "Missing required option: " << e.get_option_name() << endl; + cerr << all << endl; + return EXIT_FAILURE; + } catch (po::unknown_option &e) { + cerr << e.what() << endl; + return EXIT_FAILURE; + } } -- cgit v1.2.3