LINK_LIBRARIESΒΆ
List of direct link dependencies.
This property specifies the list of libraries or targets which will be
used for linking. In addition to accepting values from the
target_link_libraries()
command, values may be set directly on
any target using the set_property()
command.
The value of this property is used by the generators to construct the
link rule for the target. The direct link dependencies are linked first,
followed by indirect dependencies from the transitive closure of the
direct dependencies' INTERFACE_LINK_LIBRARIES
properties.
See policy CMP0022
.
Contents of LINK_LIBRARIES
may use
generator expressions
with the
syntax $<...>
. Policy CMP0131
affects the behavior of the
LINK_ONLY
generator expression for this property.
See the cmake-buildsystem(7)
manual for more on defining
buildsystem properties.
Note
A call to target_link_libraries(<target> ...)
may update this
property on <target>
. If <target>
was not created in the same
directory as the call then target_link_libraries()
will wrap each
entry with the form ::@(directory-id);...;::@
, where the ::@
is
literal and the (directory-id)
is unspecified.
This tells the generators that the named libraries must be looked up in
the scope of the caller rather than in the scope in which the
<target>
was created. Valid directory ids are stripped on export
by the install(EXPORT)
and export()
commands.
In advanced use cases, the list of direct link dependencies specified
by this property may be updated by usage requirements from dependencies.
See the INTERFACE_LINK_LIBRARIES_DIRECT
and
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
target properties.
See the CMAKE_LINK_LIBRARIES_STRATEGY
variable and
corresponding LINK_LIBRARIES_STRATEGY
target property
for details on how CMake orders direct link dependencies on linker
command lines.