• Stephen Kelly's avatar
    Genex: Fix the HEAD target used for evaluated expressions · 5b222354
    Stephen Kelly authored and Brad King's avatar Brad King committed
    If the expression $<TARGET_PROPERTY:prop> appears in the content
    of a target property, the target that prop is read from is
    the 'head target' of the expression. In contexts such as evaluating
    the content of a target property during generation, such
    as INCLUDE_DIRECTORIES, the 'head target' is the one on which the
    initial request was made.
    
    If evaluating a generator expression which is not a target property
    content, the target must be explicitly specified. Such contexts
    include add_custom_command and file(GENERATE). The content might
    then look like
    
     $<TARGET_PROPERTY:tgt,prop>
    
    However, as there is no HeadTarget set, any generator expressions
    evaluated as part of reading prop from tgt which do not specify
    the tgt directly report an error.
    
    Modify the logic of the TARGET_PROPERTY generator expression so
    that in such contexts, the 'head target' is set to the appropriate
    target which was first encountered.
    5b222354