Skip to content
  • Stephen Kelly's avatar
    Don't keep track of content determined by target property values. · d4e5c678
    Stephen Kelly authored
    This tracking was added during the development of commit 042ecf04
    (Add API to calculate link-interface-dependent bool properties
    or error., 2013-01-06), but was never used.
    
    It was not necessary to use the content because what is really
    useful in that logic is to determine if a property has been implied
    to be null by appearing in a LINK_LIBRARIES genex.
    
    I think the motivating usecase for developing the feature of
    keeping track of the targets relevant to a property was that I
    thought it would  make it possible to allow requiring granular
    compatibility of interface properties only for targets which
    depended on the interface property. Eg:
    
     add_library(foo ...)
     add_library(bar ...)
    
     add_executable(user ...)
     # Read the INTERFACE_POSITION_INDEPENDENT_CODE from bar, but not
     # from foo:
     target_link_libraries(user foo $<$<TARGET_PROPERTY:POSTITION_INDEPENDENT_CODE>:bar>)
    
    This obviously doesn't make sense. We require that INTERFACE
    properties are consistent across all linked targets instead.
    d4e5c678