Commit Graph

6 Commits

Author SHA1 Message Date
Brad King 5f30a56f29 Merge topic 'generator-expression-fixes'
b581be0 Genex: Don't segfault on $<FOO,>
07749e3 Genex: Ensure that $<0:...> has a parameter.
ee96dc7 Genex: Extract a method to parse parameters.
2012-11-27 13:35:02 -05:00
Stephen Kelly ee96dc7686 Genex: Extract a method to parse parameters. 2012-11-26 22:52:22 +01:00
Stephen Kelly d8a59ea4b3 Port cmGeneratorExpression to cmTarget from cmGeneratorTarget.
Following from the discussion here:

 http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/3615/focus=5170
 (Re: Generator expressisons in target properties, 26 Oct 12:10)

we can't split cmTarget API for linking into cmGeneratorTarget. In
the future we will probably also need to move the include and compile
definitions API back to cmTarget so that it can be used by export().
2012-11-21 00:11:54 +01:00
Stephen Kelly 7e807472d2 Add API to check that dependent target properties form a DAG.
Initially this will only be used to check for self-references, but
can be extended to check for cycles when chaining properties of other
targets.
2012-09-28 08:49:21 -04:00
Stephen Kelly 239ac84153 Add a generator expression for target properties.
There are two overloads, so that it can use the operational
target when a target property is being evaluated, and a target
can alternatively be specified by name.

At this point, the generators don't chain. That comes later.
2012-09-28 08:49:21 -04:00
Stephen Kelly f1eacf0e07 cmGeneratorExpression: Re-write for multi-stage evaluation
The expressions may be parsed and then cached and evaluated multiple
times.  They are evaluated lazily so that literals such as ',' can be
treated as universal parameter separators, and can be processed from
results without appearing literally, and without interfering with the
parsing/evaluation of the entire expression.
2012-09-18 17:02:23 -04:00