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 command, values may be set directly on any target using the 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' properties. See policy . Contents of LINK_LIBRARIES may use with the syntax $<...>. Policy affects the behavior of the generator expression for this property. See the manual for more on defining buildsystem properties.
Note A call to may update this property on <target>. If <target> was not created in the same directory as the call then 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 and 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 and target properties. See the variable and corresponding target property for details on how CMake orders direct link dependencies on linker command lines. Handling Compiler Driver Differences
Added in version 4.0. To pass options to the linker tool, each compiler driver has its own syntax. The LINKER: prefix and , separator can be used to specify, in a portable way, options to pass to the linker tool. LINKER: is replaced by the appropriate driver option and , by the appropriate driver separator. The driver prefix and driver separator are given by the values of the and variables. For example, "LINKER:-z,defs" becomes -Xlinker -z -Xlinker defs for Clang and -Wl,-z,defs for GNU GCC. The LINKER: prefix supports, as an alternative syntax, specification of arguments using the SHELL: prefix and space as separator. The previous example then becomes "LINKER:SHELL:-z defs".
Note Specifying the SHELL: prefix anywhere other than at the beginning of the LINKER: prefix is not supported. (责任编辑:) |