LINK_LIBRARY_OVERRIDE_ ------------------------------- .. versionadded:: 3.24 Override the library feature associated with ```` from :genex:`LINK_LIBRARY` generator expressions. This can be used to resolve incompatible library features that result from specifying different features for ```` in different :genex:`LINK_LIBRARY` generator expressions. When set on a target, this property holds a single library feature name, which will be applied to ```` when linking that target. .. code-block:: cmake add_library(lib1 ...) add_library(lib2 ...) add_library(lib3 ...) target_link_libraries(lib1 PUBLIC "$") target_link_libraries(lib2 PUBLIC "$") target_link_libraries(lib3 PRIVATE lib1 lib2) # lib1 is associated with both feature2 and no feature. Without any override, # this would result in a fatal error at generation time for lib3. # Define an override to resolve the incompatible feature associations. set_property(TARGET lib3 PROPERTY LINK_LIBRARY_OVERRIDE_lib1 feature2) # lib1 will now be associated with feature2 instead when linking lib3 It is also possible to override any feature with the pre-defined ``DEFAULT`` library feature. This effectively discards any feature for that link item, for that target only (``lib3`` in this example): .. code-block:: cmake # When linking lib3, discard any library feature for lib1 set_property(TARGET lib3 PROPERTY LINK_LIBRARY_OVERRIDE_lib1 DEFAULT) See the :prop_tgt:`LINK_LIBRARY_OVERRIDE` target property for an alternative way of overriding library features for multiple libraries at once. If both properties are defined and specify an override for the same link item, ``LINK_LIBRARY_OVERRIDE_`` takes precedence over :prop_tgt:`LINK_LIBRARY_OVERRIDE`. Contents of ``LINK_LIBRARY_OVERRIDE_`` may use :manual:`generator expressions `. For more information about library features, see the :variable:`CMAKE__LINK_LIBRARY_USING_` and :variable:`CMAKE_LINK_LIBRARY_USING_` variables.