Skip to content
  • Stephen Kelly's avatar
    Add the INTERFACE_LIBRARY target type. · fe732264
    Stephen Kelly authored and Brad King's avatar Brad King committed
    This target type only contains INTERFACE_* properties, so it can be
    used as a structural node. The target-specific commands enforce
    that they may only be used with the INTERFACE keyword when used
    with INTERFACE_LIBRARY targets. The old-style target properties
    matching LINK_INTERFACE_LIBRARIES_<CONFIG> are always ignored for
    this target type.
    
    The name of the INTERFACE_LIBRARY must match a validity generator
    expression. The validity is similar to that of an ALIAS target,
    but with the additional restriction that it may not contain
    double colons. Double colons will carry the meaning of IMPORTED
    or ALIAS targets in CMake 2.8.13.
    
    An ALIAS target may be created for an INTERFACE library.
    
    At this point it can not be exported and does not appear in the
    buildsystem and project files are not created for them. That may
    be added as a feature in a later commit.
    
    The generators need some changes to handle the INTERFACE_LIBRARY
    targets returned by cmComputeLinkInterface::GetItems. The Ninja
    generator does not use that API, so it doesn't require changes
    related to that.
    fe732264