CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst 1.4 KB

12345678910111213141516171819202122232425262728
  1. CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
  2. ------------------------------------
  3. Implicit link libraries and flags detected for language ``<LANG>``.
  4. Compilers typically pass language runtime library names and other
  5. flags when they invoke a linker. These flags are implicit link
  6. options for the compiler's language.
  7. For each language enabled by the :command:`project` or
  8. :command:`enable_language` command, CMake automatically detects these
  9. libraries and flags and reports the results in this variable.
  10. The :envvar:`CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES_EXCLUDE` environment
  11. variable may be set to exclude specific libraries from the automatically
  12. detected results.
  13. When linking to a static library, CMake adds the implicit link libraries and
  14. flags from this variable for each language used in the static library (except
  15. the language whose compiler is used to drive linking). In the case of an
  16. imported static library, the :prop_tgt:`IMPORTED_LINK_INTERFACE_LANGUAGES`
  17. target property lists the languages whose implicit link information is
  18. needed. If any of the languages is not enabled, its value for the
  19. ``CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES`` variable may instead be provided
  20. by the project. Or, a :variable:`toolchain file <CMAKE_TOOLCHAIN_FILE>`
  21. may set the variable to a value known for the specified toolchain. It will
  22. either be overridden when the language is enabled, or used as a fallback.
  23. See also the :variable:`CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES` variable.