Ticket #3751: required_test.patch

File required_test.patch, 1.6 KB (added by Sascha Ochsenknecht, 13 years ago)

example

  • multiple_sources.cpp

     
    2727{
    2828    try {
    2929        int opt;
    30         string config_file;
    3130   
    3231        // Declare a group of options that will be
    3332        // allowed only on command line
     
    3534        generic.add_options()
    3635            ("version,v", "print version string")
    3736            ("help", "produce help message")
    38             ("config,c", po::value<string>(&config_file)->default_value("multiple_sources.cfg"),
     37            ("config,c", po::value<string>()->default_value("multiple_sources.cfg"),
    3938                  "name of a file of a configuration.")
    4039            ;
    4140   
     
    4443        // config file
    4544        po::options_description config("Configuration");
    4645        config.add_options()
    47             ("optimization", po::value<int>(&opt)->default_value(10),
     46            ("optimization", po::value<int>(&opt)->default_value(10)->required(),
    4847                  "optimization level")
    4948            ("include-path,I",
    50                  po::value< vector<string> >()->composing(),
     49                 po::value< vector<string> >()->composing()->required(),
    5150                 "include path")
    5251            ;
    5352
     
    7473        po::variables_map vm;
    7574        store(po::command_line_parser(ac, av).
    7675              options(cmdline_options).positional(p).run(), vm);
    77         notify(vm);
    78        
     76
     77        string config_file = vm["config"].as< string >();
    7978        ifstream ifs(config_file.c_str());
    8079        if (!ifs)
    8180        {