Skip to content
  • Brad King's avatar
    Genex: Memoize usage requirement TARGET_PROPERTY existence · 1d3841b6
    Brad King authored
    For each usage requirement (such as `INTERFACE_COMPILE_DEFINITIONS` or
    `INTERFACE_INCLUDE_DIRECTORIES`), the value of the generator expression
    `$<TARGET_PROPERTY:target,prop>` includes the values of the same
    property from the transitive closure of link libraries of the target.
    
    In cases that a target's transitive closure of dependencies does not
    depend on the target being linked (the "head" target), we can memoize
    whether or not a usage requirement property exists at all for that
    target.  When a usage requirement does not exist for a target, we
    can skip evaluating it for every consuming target.
    
    Fixes: #18964, #18965
    1d3841b6