blob: ca0e14b47fd78bc919275cf7db2b4b8e9467af0b [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Using Dependencies Guide &mdash; CMake 3.23.1 Documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/cmake.css" />
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script 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="Importing and Exporting Guide" href="../importing-exporting/index.html" />
<link rel="prev" title="User Interaction Guide" href="../user-interaction/index.html" />
</head><body>
<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="../importing-exporting/index.html" title="Importing and Exporting Guide"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../user-interaction/index.html" title="User Interaction Guide"
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.23.1 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-this"><a href="">Using Dependencies Guide</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="using-dependencies-guide">
<span id="guide:Using Dependencies Guide"></span><h1><a class="toc-backref" href="#id1">Using Dependencies Guide</a><a class="headerlink" href="#using-dependencies-guide" title="Permalink to this headline"></a></h1>
<div class="contents topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
<li><p><a class="reference internal" href="#using-dependencies-guide" id="id1">Using Dependencies Guide</a></p>
<ul>
<li><p><a class="reference internal" href="#introduction" id="id2">Introduction</a></p></li>
<li><p><a class="reference internal" href="#libraries-providing-config-file-packages" id="id3">Libraries providing Config-file packages</a></p></li>
<li><p><a class="reference internal" href="#imported-targets-from-packages" id="id4">Imported Targets from Packages</a></p>
<ul>
<li><p><a class="reference internal" href="#libraries-not-providing-config-file-packages" id="id5">Libraries not Providing Config-file Packages</a></p></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="section" id="introduction">
<h2><a class="toc-backref" href="#id2">Introduction</a><a class="headerlink" href="#introduction" title="Permalink to this headline"></a></h2>
<p>For developers wishing to use CMake to consume a third
party binary package, there are multiple possibilities
regarding how to optimally do so, depending on how
CMake-aware the third-party library is.</p>
<p>CMake files provided with a software package contain
instructions for finding each build dependency. Some
build dependencies are optional in that the build may
succeed with a different feature set if the dependency
is missing, and some dependencies are required. CMake
searches well-known locations for each dependency, and
the provided software may supply additional hints or
locations to CMake to find each dependency.</p>
<p>If a required dependency is not found by
<span class="target" id="index-0-manual:cmake(1)"></span><a class="reference internal" href="../../manual/cmake.1.html#manual:cmake(1)" title="cmake(1)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake(1)</span></code></a>, the cache is populated with an entry
which contains a <code class="docutils literal notranslate"><span class="pre">NOTFOUND</span></code> value. This value can be
replaced by specifying it on the command line, or in
the <span class="target" id="index-0-manual:ccmake(1)"></span><a class="reference internal" href="../../manual/ccmake.1.html#manual:ccmake(1)" title="ccmake(1)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">ccmake(1)</span></code></a> or <span class="target" id="index-0-manual:cmake-gui(1)"></span><a class="reference internal" href="../../manual/cmake-gui.1.html#manual:cmake-gui(1)" title="cmake-gui(1)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-gui(1)</span></code></a> tool.
See the <span class="target" id="index-0-guide:User Interaction Guide"></span><a class="reference internal" href="../user-interaction/index.html#guide:User Interaction Guide" title="User Interaction Guide"><code class="xref cmake cmake-guide docutils literal notranslate"><span class="pre">User</span> <span class="pre">Interaction</span> <span class="pre">Guide</span></code></a> for
more about setting cache entries.</p>
</div>
<div class="section" id="libraries-providing-config-file-packages">
<h2><a class="toc-backref" href="#id3">Libraries providing Config-file packages</a><a class="headerlink" href="#libraries-providing-config-file-packages" title="Permalink to this headline"></a></h2>
<p>The most convenient way for a third-party to provide library
binaries for use with CMake is to provide
<a class="reference internal" href="../../manual/cmake-packages.7.html#config-file-packages"><span class="std std-ref">Config-file Packages</span></a>. These packages are text files
shipped with the library which instruct CMake how to use the
library binaries and associated headers, helper tools and
CMake macros provided by the library.</p>
<p>The config files can usually be found in a directory whose
name matches the pattern <code class="docutils literal notranslate"><span class="pre">lib/cmake/&lt;PackageName&gt;</span></code>, though
they may be in other locations instead. The
<code class="docutils literal notranslate"><span class="pre">&lt;PackageName&gt;</span></code> corresponds to use in CMake code with the
<span class="target" id="index-0-command:find_package"></span><a class="reference internal" href="../../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> command such as
<code class="docutils literal notranslate"><span class="pre">find_package(PackageName</span> <span class="pre">REQUIRED)</span></code>.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">lib/cmake/&lt;PackageName&gt;</span></code> directory will contain a
file which is either named <code class="docutils literal notranslate"><span class="pre">&lt;PackageName&gt;Config.cmake</span></code>
or <code class="docutils literal notranslate"><span class="pre">&lt;PackageName&gt;-config.cmake</span></code>. This is the entry point
to the package for CMake. A separate optional file named
<code class="docutils literal notranslate"><span class="pre">&lt;PackageName&gt;ConfigVersion.cmake</span></code> may also exist in the
directory. This file is used by CMake to determine whether
the version of the third party package satisfies uses of the
<span class="target" id="index-1-command:find_package"></span><a class="reference internal" href="../../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> command which specify version
constraints. It is optional to specify a version when using
<span class="target" id="index-2-command:find_package"></span><a class="reference internal" href="../../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a>, even if a <code class="docutils literal notranslate"><span class="pre">ConfigVersion</span></code> file is
present.</p>
<p>If the <code class="docutils literal notranslate"><span class="pre">Config.cmake</span></code> file is found and the
optionally-specified version is satisfied, then the CMake
<span class="target" id="index-3-command:find_package"></span><a class="reference internal" href="../../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> command considers the package to be
found and the entire library package is assumed to be
complete as designed.</p>
<p>There may be additional files providing CMake macros or
<a class="reference internal" href="../../manual/cmake-buildsystem.7.html#imported-targets"><span class="std std-ref">Imported Targets</span></a> for you to use. CMake does not
enforce any naming convention for these
files. They are related to the primary <code class="docutils literal notranslate"><span class="pre">Config</span></code> file by
use of the CMake <span class="target" id="index-0-command:include"></span><a class="reference internal" href="../../command/include.html#command:include" title="include"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">include()</span></code></a> command.</p>
<p><span class="target" id="index-1-guide:User Interaction Guide"></span><a class="reference internal" href="../user-interaction/index.html#guide:User Interaction Guide" title="User Interaction Guide"><code class="xref cmake cmake-guide docutils literal notranslate"><span class="pre">Invoking</span> <span class="pre">CMake</span></code></a> with the
intent of using a package of third party binaries requires
that cmake <span class="target" id="index-4-command:find_package"></span><a class="reference internal" href="../../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> commands succeed in finding
the package. If the location of the package is in a directory
known to CMake, the <span class="target" id="index-5-command:find_package"></span><a class="reference internal" href="../../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> call should
succeed. The directories known to cmake are platform-specific.
For example, packages installed on Linux with a standard
system package manager will be found in the <code class="docutils literal notranslate"><span class="pre">/usr</span></code> prefix
automatically. Packages installed in <code class="docutils literal notranslate"><span class="pre">Program</span> <span class="pre">Files</span></code> on
Windows will similarly be found automatically.</p>
<p>Packages which are not found automatically are in locations
not predictable to CMake such as <code class="docutils literal notranslate"><span class="pre">/opt/mylib</span></code> or
<code class="docutils literal notranslate"><span class="pre">$HOME/dev/prefix</span></code>. This is a normal situation and CMake
provides several ways for users to specify where to find
such libraries.</p>
<p>The <span class="target" id="index-0-variable:CMAKE_PREFIX_PATH"></span><a class="reference internal" href="../../variable/CMAKE_PREFIX_PATH.html#variable:CMAKE_PREFIX_PATH" title="CMAKE_PREFIX_PATH"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_PREFIX_PATH</span></code></a> variable may be
<a class="reference internal" href="../user-interaction/index.html#setting-build-variables"><span class="std std-ref">set when invoking CMake</span></a>.
It is treated as a list of paths to search for
<a class="reference internal" href="../../manual/cmake-packages.7.html#config-file-packages"><span class="std std-ref">Config-file Packages</span></a>. A package installed in
<code class="docutils literal notranslate"><span class="pre">/opt/somepackage</span></code> will typically install config files
such as
<code class="docutils literal notranslate"><span class="pre">/opt/somepackage/lib/cmake/somePackage/SomePackageConfig.cmake</span></code>.
In that case, <code class="docutils literal notranslate"><span class="pre">/opt/somepackage</span></code> should be added to
<span class="target" id="index-1-variable:CMAKE_PREFIX_PATH"></span><a class="reference internal" href="../../variable/CMAKE_PREFIX_PATH.html#variable:CMAKE_PREFIX_PATH" title="CMAKE_PREFIX_PATH"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_PREFIX_PATH</span></code></a>.</p>
<p>The environment variable <code class="docutils literal notranslate"><span class="pre">CMAKE_PREFIX_PATH</span></code> may also be
populated with prefixes to search for packages. Like the
<code class="docutils literal notranslate"><span class="pre">PATH</span></code> environment variable, this is a list and needs to use
the platform-specific environment variable list item separator
(<code class="docutils literal notranslate"><span class="pre">:</span></code> on Unix and <code class="docutils literal notranslate"><span class="pre">;</span></code> on Windows).</p>
<p>The <span class="target" id="index-2-variable:CMAKE_PREFIX_PATH"></span><a class="reference internal" href="../../variable/CMAKE_PREFIX_PATH.html#variable:CMAKE_PREFIX_PATH" title="CMAKE_PREFIX_PATH"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_PREFIX_PATH</span></code></a> variable provides convenience
in cases where multiple prefixes need to be specified, or when
multiple different package binaries are available in the same
prefix. Paths to packages may also be specified by setting
variables matching <code class="docutils literal notranslate"><span class="pre">&lt;PackageName&gt;_DIR</span></code>, such as
<code class="docutils literal notranslate"><span class="pre">SomePackage_DIR</span></code>. Note that this is not a prefix but should
be a full path to a directory containing a config-style package
file, such as <code class="docutils literal notranslate"><span class="pre">/opt/somepackage/lib/cmake/SomePackage/</span></code> in
the above example.</p>
</div>
<div class="section" id="imported-targets-from-packages">
<h2><a class="toc-backref" href="#id4">Imported Targets from Packages</a><a class="headerlink" href="#imported-targets-from-packages" title="Permalink to this headline"></a></h2>
<p>A third-party package which provides config-file packages may
also provide <a class="reference internal" href="../../manual/cmake-buildsystem.7.html#imported-targets"><span class="std std-ref">Imported Targets</span></a>. These will be
specified in files containing configuration-specific file
paths relevant to the package, such as debug and release
versions of libraries.</p>
<p>Often the third-party package documentation will point out the
names of imported targets available after a successful
<code class="docutils literal notranslate"><span class="pre">find_package</span></code> for a library. Those imported target names
can be used with 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 notranslate"><span class="pre">target_link_libraries()</span></code></a> command.</p>
<p>A complete example which makes a simple use of a third party
library might look like:</p>
<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">cmake_minimum_required(</span><span class="no">VERSION</span><span class="w"> </span><span class="m">3.10</span><span class="nf">)</span><span class="w"></span>
<span class="nf">project(</span><span class="nb">MyExeProject</span><span class="w"> </span><span class="no">VERSION</span><span class="w"> </span><span class="m">1.0.0</span><span class="nf">)</span><span class="w"></span>
<span class="nf">find_package(</span><span class="nb">SomePackage</span><span class="w"> </span><span class="no">REQUIRED</span><span class="nf">)</span><span class="w"></span>
<span class="nf">add_executable(</span><span class="nb">MyExe</span><span class="w"> </span><span class="nb">main.cpp</span><span class="nf">)</span><span class="w"></span>
<span class="nf">target_link_libraries(</span><span class="nb">MyExe</span><span class="w"> </span><span class="no">PRIVATE</span><span class="w"> </span><span class="nb">SomePrefix</span><span class="o">::</span><span class="nb">LibName</span><span class="nf">)</span><span class="w"></span>
</pre></div>
</div>
<p>See <span class="target" id="index-0-manual:cmake-buildsystem(7)"></span><a class="reference internal" href="../../manual/cmake-buildsystem.7.html#manual:cmake-buildsystem(7)" title="cmake-buildsystem(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-buildsystem(7)</span></code></a> for further information
about developing a CMake buildsystem.</p>
<div class="section" id="libraries-not-providing-config-file-packages">
<h3><a class="toc-backref" href="#id5">Libraries not Providing Config-file Packages</a><a class="headerlink" href="#libraries-not-providing-config-file-packages" title="Permalink to this headline"></a></h3>
<p>Third-party libraries which do not provide config-file packages
can still be found with the <span class="target" id="index-6-command:find_package"></span><a class="reference internal" href="../../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> command, if
a <code class="docutils literal notranslate"><span class="pre">FindSomePackage.cmake</span></code> file is available.</p>
<p>These module-file packages are different to config-file packages
in that:</p>
<ol class="arabic simple">
<li><p>They should not be provided by the third party, except
perhaps in the form of documentation</p></li>
<li><p>The availability of a <code class="docutils literal notranslate"><span class="pre">Find&lt;PackageName&gt;.cmake</span></code> file does
not indicate the availability of the binaries themselves.</p></li>
<li><p>CMake does not search the <span class="target" id="index-3-variable:CMAKE_PREFIX_PATH"></span><a class="reference internal" href="../../variable/CMAKE_PREFIX_PATH.html#variable:CMAKE_PREFIX_PATH" title="CMAKE_PREFIX_PATH"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_PREFIX_PATH</span></code></a> for
<code class="docutils literal notranslate"><span class="pre">Find&lt;PackageName&gt;.cmake</span></code> files. Instead CMake searches
for such files in the <span class="target" id="index-0-variable:CMAKE_MODULE_PATH"></span><a class="reference internal" href="../../variable/CMAKE_MODULE_PATH.html#variable:CMAKE_MODULE_PATH" title="CMAKE_MODULE_PATH"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_MODULE_PATH</span></code></a>
variable. It is common for users to set the
<span class="target" id="index-1-variable:CMAKE_MODULE_PATH"></span><a class="reference internal" href="../../variable/CMAKE_MODULE_PATH.html#variable:CMAKE_MODULE_PATH" title="CMAKE_MODULE_PATH"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_MODULE_PATH</span></code></a> when running CMake, and it is
common for CMake projects to append to
<span class="target" id="index-2-variable:CMAKE_MODULE_PATH"></span><a class="reference internal" href="../../variable/CMAKE_MODULE_PATH.html#variable:CMAKE_MODULE_PATH" title="CMAKE_MODULE_PATH"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_MODULE_PATH</span></code></a> to allow use of local
module-file packages.</p></li>
<li><p>CMake ships <code class="docutils literal notranslate"><span class="pre">Find&lt;PackageName&gt;.cmake</span></code> files for some
<span class="target" id="index-0-manual:cmake-modules(7)"></span><a class="reference internal" href="../../manual/cmake-modules.7.html#manual:cmake-modules(7)" title="cmake-modules(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">third</span> <span class="pre">party</span> <span class="pre">packages</span></code></a>
for convenience in cases where the third party does
not provide config-file packages directly. These files are
a maintenance burden for CMake, so new Find modules are
generally not added to CMake anymore. Third-parties should
provide config file packages instead of relying on a Find
module to be provided by CMake.</p></li>
</ol>
<p>Module-file packages may also provide <a class="reference internal" href="../../manual/cmake-buildsystem.7.html#imported-targets"><span class="std std-ref">Imported Targets</span></a>.
A complete example which finds such a package might look
like:</p>
<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">cmake_minimum_required(</span><span class="no">VERSION</span><span class="w"> </span><span class="m">3.10</span><span class="nf">)</span><span class="w"></span>
<span class="nf">project(</span><span class="nb">MyExeProject</span><span class="w"> </span><span class="no">VERSION</span><span class="w"> </span><span class="m">1.0.0</span><span class="nf">)</span><span class="w"></span>
<span class="nf">find_package(</span><span class="no">PNG</span><span class="w"> </span><span class="no">REQUIRED</span><span class="nf">)</span><span class="w"></span>
<span class="c"># Add path to a FindSomePackage.cmake file</span>
<span class="nf">list(</span><span class="no">APPEND</span><span class="w"> </span><span class="no">CMAKE_MODULE_PATH</span><span class="w"> </span><span class="s">&quot;${CMAKE_SOURCE_DIR}/cmake&quot;</span><span class="nf">)</span><span class="w"></span>
<span class="nf">find_package(</span><span class="nb">SomePackage</span><span class="w"> </span><span class="no">REQUIRED</span><span class="nf">)</span><span class="w"></span>
<span class="nf">add_executable(</span><span class="nb">MyExe</span><span class="w"> </span><span class="nb">main.cpp</span><span class="nf">)</span><span class="w"></span>
<span class="nf">target_link_libraries(</span><span class="nb">MyExe</span><span class="w"> </span><span class="no">PRIVATE</span><span class="w"></span>
<span class="w"> </span><span class="no">PNG</span><span class="o">::</span><span class="no">PNG</span><span class="w"></span>
<span class="w"> </span><span class="nb">SomePrefix</span><span class="o">::</span><span class="nb">LibName</span><span class="w"></span>
<span class="nf">)</span><span class="w"></span>
</pre></div>
</div>
<p>The <span class="target" id="index-0-variable:&lt;PackageName&gt;_ROOT"></span><a class="reference internal" href="../../variable/PackageName_ROOT.html#variable:&lt;PackageName&gt;_ROOT" title="&lt;PackageName&gt;_ROOT"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">&lt;PackageName&gt;_ROOT</span></code></a> variable is also
searched as a prefix for <span class="target" id="index-7-command:find_package"></span><a class="reference internal" href="../../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> calls using
module-file packages such as <code class="docutils literal notranslate"><span class="pre">FindSomePackage</span></code>.</p>
</div>
</div>
</div>
<div class="clearer"></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="#">Using Dependencies Guide</a><ul>
<li><a class="reference internal" href="#introduction">Introduction</a></li>
<li><a class="reference internal" href="#libraries-providing-config-file-packages">Libraries providing Config-file packages</a></li>
<li><a class="reference internal" href="#imported-targets-from-packages">Imported Targets from Packages</a><ul>
<li><a class="reference internal" href="#libraries-not-providing-config-file-packages">Libraries not Providing Config-file Packages</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="../user-interaction/index.html"
title="previous chapter">User Interaction Guide</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="../importing-exporting/index.html"
title="next chapter">Importing and Exporting Guide</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../../_sources/guide/using-dependencies/index.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#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="../importing-exporting/index.html" title="Importing and Exporting Guide"
>next</a> |</li>
<li class="right" >
<a href="../user-interaction/index.html" title="User Interaction Guide"
>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.23.1 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-this"><a href="">Using Dependencies Guide</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2000-2022 Kitware, Inc. and Contributors.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.1.2.
</div>
</body>
</html>