Skip to content
  • Stephen Kelly's avatar
    Genex: Fix evaluation context propagation for TARGET_OBJECTS. · 672f1001
    Stephen Kelly authored
    Extract a new method to encapsulate the requirements of evaluating
    dependent-expressions, namely, propagation of the
    EvaluateForBuildsystem setting, which is missing from the
    getLinkedTargetsContent implementation.
    
    Commit v3.1.0-rc1~688^2 (Genex: Only evaluate TARGET_OBJECTS to determine
    target sources., 2014-03-20) introduced an error case for use of
    TARGET_OBJECTS outside of the context of generating the buildsystem,
    as the path to object files may be dependent on buildsystem
    variables (See bug #15226).
    
    Commit v3.1.0-rc1~314^2 (Allow INTERFACE_SOURCES to specify
    $<TARGET_OBJECTS> (#14970), 2014-07-09) made it possible to
    propagate such content to dependent targets.
    
    While that commit propagated the EvaluateForBuildsystem setting
    for the case of a TARGET_PROPERTY expression, as generated for
    direct dependencies of a target in
    cmTargetInternals::AddInterfaceEntries, it did not add propagation
    for content from further transitive target dependencies, as determined
    by getLinkedTargetsContent.
    672f1001