mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 16:32:14 -06:00
Help: Document that toolchain files may set implicit link information
Document in `CMAKE_<LANG>_IMPLICIT_LINK_{LIBRARIES,DIRECTORIES}` how
their value is used and that a fallback value may be provided by a
toolchain file.
This commit is contained in:
@@ -6,8 +6,20 @@ Implicit linker search path detected for language ``<LANG>``.
|
||||
Compilers typically pass directories containing language runtime
|
||||
libraries and default library search paths when they invoke a linker.
|
||||
These paths are implicit linker search directories for the compiler's
|
||||
language. CMake automatically detects these directories for each
|
||||
language and reports the results in this variable.
|
||||
language. For each language enabled by the :command:`project` or
|
||||
:command:`enable_language` command, CMake automatically detects these
|
||||
directories and reports the results in this variable.
|
||||
|
||||
When linking to a static library, CMake adds the implicit link directories
|
||||
from this variable for each language used in the static library (except
|
||||
the language whose compiler is used to drive linking). In the case of an
|
||||
imported static library, the :prop_tgt:`IMPORTED_LINK_INTERFACE_LANGUAGES`
|
||||
target property lists the languages whose implicit link information is
|
||||
needed. If any of the languages is not enabled, its value for the
|
||||
``CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES`` variable may instead be provided
|
||||
by the project. Or, a :variable:`toolchain file <CMAKE_TOOLCHAIN_FILE>`
|
||||
may set the variable to a value known for the specified toolchain. It will
|
||||
either be overridden when the language is enabled, or used as a fallback.
|
||||
|
||||
Some toolchains read implicit directories from an environment variable such as
|
||||
``LIBRARY_PATH``. If using such an environment variable, keep its value
|
||||
@@ -18,3 +30,5 @@ If policy :policy:`CMP0060` is not set to ``NEW``, then when a library in one
|
||||
of these directories is given by full path to :command:`target_link_libraries`
|
||||
CMake will generate the ``-l<name>`` form on link lines for historical
|
||||
purposes.
|
||||
|
||||
See also the :variable:`CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES` variable.
|
||||
|
||||
@@ -5,6 +5,20 @@ Implicit link libraries and flags detected for language ``<LANG>``.
|
||||
|
||||
Compilers typically pass language runtime library names and other
|
||||
flags when they invoke a linker. These flags are implicit link
|
||||
options for the compiler's language. CMake automatically detects
|
||||
these libraries and flags for each language and reports the results in
|
||||
this variable.
|
||||
options for the compiler's language. For each language enabled
|
||||
by the :command:`project` or :command:`enable_language` command,
|
||||
CMake automatically detects these libraries and flags and reports
|
||||
the results in this variable.
|
||||
|
||||
When linking to a static library, CMake adds the implicit link libraries and
|
||||
flags from this variable for each language used in the static library (except
|
||||
the language whose compiler is used to drive linking). In the case of an
|
||||
imported static library, the :prop_tgt:`IMPORTED_LINK_INTERFACE_LANGUAGES`
|
||||
target property lists the languages whose implicit link information is
|
||||
needed. If any of the languages is not enabled, its value for the
|
||||
``CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES`` variable may instead be provided
|
||||
by the project. Or, a :variable:`toolchain file <CMAKE_TOOLCHAIN_FILE>`
|
||||
may set the variable to a value known for the specified toolchain. It will
|
||||
either be overridden when the language is enabled, or used as a fallback.
|
||||
|
||||
See also the :variable:`CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES` variable.
|
||||
|
||||
Reference in New Issue
Block a user