|
Boost : |
Subject: Re: [boost] [ANN] CLI command line interface compiler for C++
From: Boris Kolpackov (boris_at_[hidden])
Date: 2009-10-29 11:33:51
Hi Olaf,
Olaf Peter <ope-devel_at_[hidden]> writes:
> looks interesting. is there an easy way to pass arguments to an
> underlying framework, e.g. Qt's QCoreApplication like -display, -font
> etc?, even it is not a valid option to the program self, which shall
> expect the classic form of long/short option e.g. --debug|-d ???
Yes, there are several ways to do this. I don't know if QCoreApplication
does this, but normally a subsystem like this would have a chance to
parse the argc/argv array first and remove all the options from argv
that are specific to it. As a result, your application doesn't see
any of the Qt options.
But even if QCoreApplication doesn't do this, you can instruct the
CLI-generated classes to ignore unknown options.
> Is it possible to write (as it can be done for boost.program_options)
> for gcc compiler's "-frtti" and -fno-rtti" without blowing up the DSL
> cli file?
There is no support for this at the moment though it can probably be
implemented. Something like this:
class options
{
std::vector<std::string> -f*;
std::vector<std::string> -fno-*;
};
I've added this to the potential feature list to think about.
> Maybe generating the usage() from the DSL cli file with grouping of
> options like as it can be done by using boost.program_options?
Yes, providing options documentation in the .cli file and then generating
the usage information, man pages, etc. is on the TODO list for the next
version.
Boris
-- Boris Kolpackov, Code Synthesis Tools http://codesynthesis.com/~boris/blog Open-source XML data binding for C++: http://codesynthesis.com/products/xsd XML data binding for embedded systems: http://codesynthesis.com/products/xsde
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk