Skip to content
  • Brad King's avatar
    target_link_libraries: Allow use with targets in other directories · a1ad0a69
    Brad King authored
    Previously the command did not allow naming targets on the LHS that
    were not created in the calling directory.  Lift this restriction to
    enable more flexible use by projects.
    
    Targets named on the RHS will need to be looked up during generation in
    the scope of the call site rather than the scope of the LHS target.
    Introduce an internal syntax in `[INTERFACE_]LINK_LIBRARIES` properties
    to specify target names that need to be looked up in a directory other
    than that containing the target on which the property is set.  Add
    minimal documentation of the syntax to help users that encounter it.
    
    Unfortunately CMake previously did allow such calls in the case that
    only `INTERFACE` libraries are specified, but those libraries would be
    looked up in the target's directory rather than the caller's.  Add
    policy `CMP0079` to enable the new behavior with new lookup scope in a
    compatible way.
    
    Fixes: #17943
    a1ad0a69