From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-12-30 06:55:03
On Wednesday 29 December 2004 23:02, David Abrahams wrote:
> The introduction of a special named parameter interface for declaring
> projects and the introduction of an "attribute" concept seem to me to be
> entirely gratuitous, since the things one has to declare for a project
> have so much in common with the "common syntax" for declaring main targets
> Projects Main targets
> ======== ============
> project id (name) name
> requirements requirements
> source location
> build directory
> default-build default-build
> usage requirements
> If you just represent source location and build directory as features
> that can be given values in the project's requirements or default-build,
> you have now unified the two declaration syntaxes.
This is true. The problem now is that
1. Project cannot use positional parameters
2. Target cannot use named parameters
What do you think about allowing named parameters for targets? At least when I
need to specify usage requirements on a target I'm always confused.
So, we'll be able to write:
project foo : <include>bar ;
exe main : main.cpp : requirements <include>biz ;
> Regularity is good; it makes the system easy to understand and explain.
> [Furthermore, it seems to me as though usage requirements might make
> sense for projects (since projects can be "used").]
Yes, possibly. I've made a note about it.
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk