blob: a995b10021b20ed65fd0bf3ef9b41124d1544b51 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>LINK_INTERFACE_LIBRARIES &mdash; CMake 3.8.2 Documentation</title>
<link rel="stylesheet" href="../_static/cmake.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '3.8.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<link rel="shortcut icon" href="../_static/cmake-favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="LINK_INTERFACE_MULTIPLICITY_&lt;CONFIG&gt;" href="LINK_INTERFACE_MULTIPLICITY_CONFIG.html" />
<link rel="prev" title="LINK_INTERFACE_LIBRARIES_&lt;CONFIG&gt;" href="LINK_INTERFACE_LIBRARIES_CONFIG.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="LINK_INTERFACE_MULTIPLICITY_CONFIG.html" title="LINK_INTERFACE_MULTIPLICITY_&lt;CONFIG&gt;"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="LINK_INTERFACE_LIBRARIES_CONFIG.html" title="LINK_INTERFACE_LIBRARIES_&lt;CONFIG&gt;"
accesskey="P">previous</a> |</li>
<li>
<img src="../_static/cmake-logo-16.png" alt=""
style="vertical-align: middle; margin-top: -2px" />
</li>
<li>
<a href="https://cmake.org/">CMake</a> &#187;
</li>
<li>
<a href="../index.html">3.8.2 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="../manual/cmake-properties.7.html" accesskey="U">cmake-properties(7)</a> &#187;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="link-interface-libraries">
<span id="prop_tgt:LINK_INTERFACE_LIBRARIES"></span><h1>LINK_INTERFACE_LIBRARIES<a class="headerlink" href="#link-interface-libraries" title="Permalink to this headline"></a></h1>
<p>List public interface libraries for a shared library or executable.</p>
<p>By default linking to a shared library target transitively links to
targets with which the library itself was linked. For an executable
with exports (see the <span class="target" id="index-0-prop_tgt:ENABLE_EXPORTS"></span><a class="reference internal" href="ENABLE_EXPORTS.html#prop_tgt:ENABLE_EXPORTS" title="ENABLE_EXPORTS"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">ENABLE_EXPORTS</span></code></a> target property) no
default transitive link dependencies are used. This property replaces the default
transitive link dependencies with an explicit list. When the target
is linked into another target using the <span class="target" id="index-0-command:target_link_libraries"></span><a class="reference internal" href="../command/target_link_libraries.html#command:target_link_libraries" title="target_link_libraries"><code class="xref cmake cmake-command docutils literal"><span class="pre">target_link_libraries()</span></code></a>
command, the libraries listed (and recursively
their link interface libraries) will be provided to the other target
also. If the list is empty then no transitive link dependencies will
be incorporated when this target is linked into another target even if
the default set is non-empty. This property is initialized by the
value of the <span class="target" id="index-0-variable:CMAKE_LINK_INTERFACE_LIBRARIES"></span><a class="reference internal" href="../variable/CMAKE_LINK_INTERFACE_LIBRARIES.html#variable:CMAKE_LINK_INTERFACE_LIBRARIES" title="CMAKE_LINK_INTERFACE_LIBRARIES"><code class="xref cmake cmake-variable docutils literal"><span class="pre">CMAKE_LINK_INTERFACE_LIBRARIES</span></code></a> variable if it is
set when a target is created. This property is ignored for <code class="docutils literal"><span class="pre">STATIC</span></code>
libraries.</p>
<p>This property is overridden by the <span class="target" id="index-0-prop_tgt:INTERFACE_LINK_LIBRARIES"></span><a class="reference internal" href="INTERFACE_LINK_LIBRARIES.html#prop_tgt:INTERFACE_LINK_LIBRARIES" title="INTERFACE_LINK_LIBRARIES"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">INTERFACE_LINK_LIBRARIES</span></code></a>
property if policy <span class="target" id="index-0-policy:CMP0022"></span><a class="reference internal" href="../policy/CMP0022.html#policy:CMP0022" title="CMP0022"><code class="xref cmake cmake-policy docutils literal"><span class="pre">CMP0022</span></code></a> is <code class="docutils literal"><span class="pre">NEW</span></code>.</p>
<p>This property is deprecated. Use <span class="target" id="index-1-prop_tgt:INTERFACE_LINK_LIBRARIES"></span><a class="reference internal" href="INTERFACE_LINK_LIBRARIES.html#prop_tgt:INTERFACE_LINK_LIBRARIES" title="INTERFACE_LINK_LIBRARIES"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">INTERFACE_LINK_LIBRARIES</span></code></a>
instead.</p>
<div class="section" id="creating-relocatable-packages">
<h2>Creating Relocatable Packages<a class="headerlink" href="#creating-relocatable-packages" title="Permalink to this headline"></a></h2>
<p>Note that it is not advisable to populate the
<code class="docutils literal"><span class="pre">LINK_INTERFACE_LIBRARIES</span></code> of a target with absolute paths to dependencies.
That would hard-code into installed packages the library file paths
for dependencies <strong>as found on the machine the package was made on</strong>.</p>
<p>See the <a class="reference internal" href="../manual/cmake-packages.7.html#creating-relocatable-packages"><span class="std std-ref">Creating Relocatable Packages</span></a> section of the
<span class="target" id="index-0-manual:cmake-packages(7)"></span><a class="reference internal" href="../manual/cmake-packages.7.html#manual:cmake-packages(7)" title="cmake-packages(7)"><code class="xref cmake cmake-manual docutils literal"><span class="pre">cmake-packages(7)</span></code></a> manual for discussion of additional care
that must be taken when specifying usage requirements while creating
packages for redistribution.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="../index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">LINK_INTERFACE_LIBRARIES</a><ul>
<li><a class="reference internal" href="#creating-relocatable-packages">Creating Relocatable Packages</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="LINK_INTERFACE_LIBRARIES_CONFIG.html"
title="previous chapter">LINK_INTERFACE_LIBRARIES_&lt;CONFIG&gt;</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="LINK_INTERFACE_MULTIPLICITY_CONFIG.html"
title="next chapter">LINK_INTERFACE_MULTIPLICITY_&lt;CONFIG&gt;</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/prop_tgt/LINK_INTERFACE_LIBRARIES.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="LINK_INTERFACE_MULTIPLICITY_CONFIG.html" title="LINK_INTERFACE_MULTIPLICITY_&lt;CONFIG&gt;"
>next</a> |</li>
<li class="right" >
<a href="LINK_INTERFACE_LIBRARIES_CONFIG.html" title="LINK_INTERFACE_LIBRARIES_&lt;CONFIG&gt;"
>previous</a> |</li>
<li>
<img src="../_static/cmake-logo-16.png" alt=""
style="vertical-align: middle; margin-top: -2px" />
</li>
<li>
<a href="https://cmake.org/">CMake</a> &#187;
</li>
<li>
<a href="../index.html">3.8.2 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="../manual/cmake-properties.7.html" >cmake-properties(7)</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2000-2017 Kitware, Inc. and Contributors.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.2.
</div>
</body>
</html>