1. 01 Nov, 2017 1 commit
  2. 21 Apr, 2017 1 commit
  3. 09 Feb, 2015 1 commit
  4. 21 Oct, 2013 1 commit
  5. 08 Jul, 2013 2 commits
    • Stephen Kelly's avatar
      TLL: Don't populate old link interface if CMP0022 is NEW. · 3e30d9ed
      Stephen Kelly authored
      Always populate the INTERFACE_LINK_LIBRARIES for interface
      entries. Don't populate the old interface properties
      matching (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?
      if CMP0022 is NEW.
      
      Because the INTERFACE_LINK_LIBRARIES property is now populated by
      the target_link_libraries when operating on a static library,
      make an equivalent change which populates the property with
      the same value when the old link_libraries() command is used. This
      silences the policy warning in that case.
      3e30d9ed
    • Stephen Kelly's avatar
      Introduce the INTERFACE_LINK_LIBRARIES property. · d0a76ea0
      Stephen Kelly authored
      This property replaces the properties which
      match (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?, and is enabled
      for IMPORTED targets, and for non-IMPORTED targets only with a policy.
      
      For static libraries, the INTERFACE_LINK_LIBRARIES property is
      also used as the source of transitive usage requirements content.
      Static libraries still require users to link to all entries in
      their LINK_LIBRARIES, but usage requirements such as INCLUDE_DIRECTORIES
      COMPILE_DEFINITIONS and COMPILE_OPTIONS can be restricted to only
      certain interface libraries.
      
      Because the INTERFACE_LINK_LIBRARIES property is populated unconditionally,
      we need to compare the evaluated result of it with the link implementation
      to determine whether to issue the policy warning for static libraries. For
      shared libraries, the policy warning is issued if the contents of
      the INTERFACE_LINK_LIBRARIES property differs from the contents of the
      relevant config-specific old LINK_INTERFACE_LIBRARIES property.
      d0a76ea0