blob: 5922afcca9b9780194d491f6927307ab781457aa [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>add_library &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="add_subdirectory" href="add_subdirectory.html" />
<link rel="prev" title="add_executable" href="add_executable.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="add_subdirectory.html" title="add_subdirectory"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="add_executable.html" title="add_executable"
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-commands.7.html" accesskey="U">cmake-commands(7)</a> &#187;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="add-library">
<span id="command:add_library"></span><h1><a class="toc-backref" href="#id1">add_library</a><a class="headerlink" href="#add-library" title="Permalink to this headline"></a></h1>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#add-library" id="id1">add_library</a><ul>
<li><a class="reference internal" href="#normal-libraries" id="id2">Normal Libraries</a></li>
<li><a class="reference internal" href="#imported-libraries" id="id3">Imported Libraries</a></li>
<li><a class="reference internal" href="#object-libraries" id="id4">Object Libraries</a></li>
<li><a class="reference internal" href="#alias-libraries" id="id5">Alias Libraries</a></li>
<li><a class="reference internal" href="#interface-libraries" id="id6">Interface Libraries</a></li>
</ul>
</li>
</ul>
</div>
<p>Add a library to the project using the specified source files.</p>
<div class="section" id="normal-libraries">
<h2><a class="toc-backref" href="#id2">Normal Libraries</a><a class="headerlink" href="#normal-libraries" title="Permalink to this headline"></a></h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">add_library</span><span class="p">(</span><span class="o">&lt;</span><span class="n">name</span><span class="o">&gt;</span> <span class="p">[</span><span class="n">STATIC</span> <span class="o">|</span> <span class="n">SHARED</span> <span class="o">|</span> <span class="n">MODULE</span><span class="p">]</span>
<span class="p">[</span><span class="n">EXCLUDE_FROM_ALL</span><span class="p">]</span>
<span class="n">source1</span> <span class="p">[</span><span class="n">source2</span> <span class="o">...</span><span class="p">])</span>
</pre></div>
</div>
<p>Adds a library target called <code class="docutils literal"><span class="pre">&lt;name&gt;</span></code> to be built from the source files
listed in the command invocation. The <code class="docutils literal"><span class="pre">&lt;name&gt;</span></code> corresponds to the
logical target name and must be globally unique within a project. The
actual file name of the library built is constructed based on
conventions of the native platform (such as <code class="docutils literal"><span class="pre">lib&lt;name&gt;.a</span></code> or
<code class="docutils literal"><span class="pre">&lt;name&gt;.lib</span></code>).</p>
<p><code class="docutils literal"><span class="pre">STATIC</span></code>, <code class="docutils literal"><span class="pre">SHARED</span></code>, or <code class="docutils literal"><span class="pre">MODULE</span></code> may be given to specify the type of
library to be created. <code class="docutils literal"><span class="pre">STATIC</span></code> libraries are archives of object files
for use when linking other targets. <code class="docutils literal"><span class="pre">SHARED</span></code> libraries are linked
dynamically and loaded at runtime. <code class="docutils literal"><span class="pre">MODULE</span></code> libraries are plugins that
are not linked into other targets but may be loaded dynamically at runtime
using dlopen-like functionality. If no type is given explicitly the
type is <code class="docutils literal"><span class="pre">STATIC</span></code> or <code class="docutils literal"><span class="pre">SHARED</span></code> based on whether the current value of the
variable <span class="target" id="index-0-variable:BUILD_SHARED_LIBS"></span><a class="reference internal" href="../variable/BUILD_SHARED_LIBS.html#variable:BUILD_SHARED_LIBS" title="BUILD_SHARED_LIBS"><code class="xref cmake cmake-variable docutils literal"><span class="pre">BUILD_SHARED_LIBS</span></code></a> is <code class="docutils literal"><span class="pre">ON</span></code>. For <code class="docutils literal"><span class="pre">SHARED</span></code> and
<code class="docutils literal"><span class="pre">MODULE</span></code> libraries the <span class="target" id="index-0-prop_tgt:POSITION_INDEPENDENT_CODE"></span><a class="reference internal" href="../prop_tgt/POSITION_INDEPENDENT_CODE.html#prop_tgt:POSITION_INDEPENDENT_CODE" title="POSITION_INDEPENDENT_CODE"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">POSITION_INDEPENDENT_CODE</span></code></a> target
property is set to <code class="docutils literal"><span class="pre">ON</span></code> automatically.
A <code class="docutils literal"><span class="pre">SHARED</span></code> or <code class="docutils literal"><span class="pre">STATIC</span></code> library may be marked with the <span class="target" id="index-0-prop_tgt:FRAMEWORK"></span><a class="reference internal" href="../prop_tgt/FRAMEWORK.html#prop_tgt:FRAMEWORK" title="FRAMEWORK"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">FRAMEWORK</span></code></a>
target property to create an OS X Framework.</p>
<p>If a library does not export any symbols, it must not be declared as a
<code class="docutils literal"><span class="pre">SHARED</span></code> library. For example, a Windows resource DLL or a managed C++/CLI
DLL that exports no unmanaged symbols would need to be a <code class="docutils literal"><span class="pre">MODULE</span></code> library.
This is because CMake expects a <code class="docutils literal"><span class="pre">SHARED</span></code> library to always have an
associated import library on Windows.</p>
<p>By default the library file will be created in the build tree directory
corresponding to the source tree directory in which the command was
invoked. See documentation of the <span class="target" id="index-0-prop_tgt:ARCHIVE_OUTPUT_DIRECTORY"></span><a class="reference internal" href="../prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.html#prop_tgt:ARCHIVE_OUTPUT_DIRECTORY" title="ARCHIVE_OUTPUT_DIRECTORY"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">ARCHIVE_OUTPUT_DIRECTORY</span></code></a>,
<span class="target" id="index-0-prop_tgt:LIBRARY_OUTPUT_DIRECTORY"></span><a class="reference internal" href="../prop_tgt/LIBRARY_OUTPUT_DIRECTORY.html#prop_tgt:LIBRARY_OUTPUT_DIRECTORY" title="LIBRARY_OUTPUT_DIRECTORY"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">LIBRARY_OUTPUT_DIRECTORY</span></code></a>, and
<span class="target" id="index-0-prop_tgt:RUNTIME_OUTPUT_DIRECTORY"></span><a class="reference internal" href="../prop_tgt/RUNTIME_OUTPUT_DIRECTORY.html#prop_tgt:RUNTIME_OUTPUT_DIRECTORY" title="RUNTIME_OUTPUT_DIRECTORY"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">RUNTIME_OUTPUT_DIRECTORY</span></code></a> target properties to change this
location. See documentation of the <span class="target" id="index-0-prop_tgt:OUTPUT_NAME"></span><a class="reference internal" href="../prop_tgt/OUTPUT_NAME.html#prop_tgt:OUTPUT_NAME" title="OUTPUT_NAME"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">OUTPUT_NAME</span></code></a> target
property to change the <code class="docutils literal"><span class="pre">&lt;name&gt;</span></code> part of the final file name.</p>
<p>If <code class="docutils literal"><span class="pre">EXCLUDE_FROM_ALL</span></code> is given the corresponding property will be set on
the created target. See documentation of the <span class="target" id="index-0-prop_tgt:EXCLUDE_FROM_ALL"></span><a class="reference internal" href="../prop_tgt/EXCLUDE_FROM_ALL.html#prop_tgt:EXCLUDE_FROM_ALL" title="EXCLUDE_FROM_ALL"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">EXCLUDE_FROM_ALL</span></code></a>
target property for details.</p>
<p>Source arguments to <code class="docutils literal"><span class="pre">add_library</span></code> may use &#8220;generator expressions&#8221; with
the syntax <code class="docutils literal"><span class="pre">$&lt;...&gt;</span></code>. See the <span class="target" id="index-0-manual:cmake-generator-expressions(7)"></span><a class="reference internal" href="../manual/cmake-generator-expressions.7.html#manual:cmake-generator-expressions(7)" title="cmake-generator-expressions(7)"><code class="xref cmake cmake-manual docutils literal"><span class="pre">cmake-generator-expressions(7)</span></code></a>
manual for available expressions. See the <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"><span class="pre">cmake-buildsystem(7)</span></code></a>
manual for more on defining buildsystem properties.</p>
</div>
<div class="section" id="imported-libraries">
<h2><a class="toc-backref" href="#id3">Imported Libraries</a><a class="headerlink" href="#imported-libraries" title="Permalink to this headline"></a></h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">add_library</span><span class="p">(</span><span class="o">&lt;</span><span class="n">name</span><span class="o">&gt;</span> <span class="o">&lt;</span><span class="n">SHARED</span><span class="o">|</span><span class="n">STATIC</span><span class="o">|</span><span class="n">MODULE</span><span class="o">|</span><span class="n">UNKNOWN</span><span class="o">&gt;</span> <span class="n">IMPORTED</span>
<span class="p">[</span><span class="n">GLOBAL</span><span class="p">])</span>
</pre></div>
</div>
<p>An <a class="reference internal" href="../manual/cmake-buildsystem.7.html#imported-targets"><span class="std std-ref">IMPORTED library target</span></a> references a library
file located outside the project. No rules are generated to build it, and
the <span class="target" id="index-0-prop_tgt:IMPORTED"></span><a class="reference internal" href="../prop_tgt/IMPORTED.html#prop_tgt:IMPORTED" title="IMPORTED"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">IMPORTED</span></code></a> target property is <code class="docutils literal"><span class="pre">True</span></code>. The target name has
scope in the directory in which it is created and below, but the <code class="docutils literal"><span class="pre">GLOBAL</span></code>
option extends visibility. It may be referenced like any target built
within the project. <code class="docutils literal"><span class="pre">IMPORTED</span></code> libraries are useful for convenient
reference from commands like <span class="target" id="index-0-command:target_link_libraries"></span><a class="reference internal" href="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>. Details
about the imported library are specified by setting properties whose names
begin in <code class="docutils literal"><span class="pre">IMPORTED_</span></code> and <code class="docutils literal"><span class="pre">INTERFACE_</span></code>. The most important such
property is <span class="target" id="index-0-prop_tgt:IMPORTED_LOCATION"></span><a class="reference internal" href="../prop_tgt/IMPORTED_LOCATION.html#prop_tgt:IMPORTED_LOCATION" title="IMPORTED_LOCATION"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">IMPORTED_LOCATION</span></code></a> (and its per-configuration
variant <span class="target" id="index-0-prop_tgt:IMPORTED_LOCATION_&lt;CONFIG&gt;"></span><a class="reference internal" href="../prop_tgt/IMPORTED_LOCATION_CONFIG.html#prop_tgt:IMPORTED_LOCATION_&lt;CONFIG&gt;" title="IMPORTED_LOCATION_&lt;CONFIG&gt;"><code class="xref cmake cmake-prop_tgt docutils literal"><span class="pre">IMPORTED_LOCATION_&lt;CONFIG&gt;</span></code></a>) which specifies the
location of the main library file on disk. See documentation of the
<code class="docutils literal"><span class="pre">IMPORTED_*</span></code> and <code class="docutils literal"><span class="pre">INTERFACE_*</span></code> properties for more information.</p>
</div>
<div class="section" id="object-libraries">
<h2><a class="toc-backref" href="#id4">Object Libraries</a><a class="headerlink" href="#object-libraries" title="Permalink to this headline"></a></h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">add_library</span><span class="p">(</span><span class="o">&lt;</span><span class="n">name</span><span class="o">&gt;</span> <span class="n">OBJECT</span> <span class="o">&lt;</span><span class="n">src</span><span class="o">&gt;...</span><span class="p">)</span>
</pre></div>
</div>
<p>Creates an <a class="reference internal" href="../manual/cmake-buildsystem.7.html#object-libraries"><span class="std std-ref">Object Library</span></a>. An object library
compiles source files but does not archive or link their object files into a
library. Instead other targets created by <span class="target" id="index-0-command:add_library"></span><a class="reference internal" href="#command:add_library" title="add_library"><code class="xref cmake cmake-command docutils literal"><span class="pre">add_library()</span></code></a> or
<span class="target" id="index-0-command:add_executable"></span><a class="reference internal" href="add_executable.html#command:add_executable" title="add_executable"><code class="xref cmake cmake-command docutils literal"><span class="pre">add_executable()</span></code></a> may reference the objects using an expression of the
form <code class="docutils literal"><span class="pre">$&lt;TARGET_OBJECTS:objlib&gt;</span></code> as a source, where <code class="docutils literal"><span class="pre">objlib</span></code> is the
object library name. For example:</p>
<div class="highlight-cmake"><div class="highlight"><pre><span></span><span class="nb">add_library</span><span class="p">(</span><span class="s">...</span> <span class="o">$&lt;</span><span class="nv">TARGET_OBJECTS:objlib</span><span class="o">&gt;</span> <span class="s">...</span><span class="p">)</span>
<span class="nb">add_executable</span><span class="p">(</span><span class="s">...</span> <span class="o">$&lt;</span><span class="nv">TARGET_OBJECTS:objlib</span><span class="o">&gt;</span> <span class="s">...</span><span class="p">)</span>
</pre></div>
</div>
<p>will include objlib&#8217;s object files in a library and an executable
along with those compiled from their own sources. Object libraries
may contain only sources that compile, header files, and other files
that would not affect linking of a normal library (e.g. <code class="docutils literal"><span class="pre">.txt</span></code>).
They may contain custom commands generating such sources, but not
<code class="docutils literal"><span class="pre">PRE_BUILD</span></code>, <code class="docutils literal"><span class="pre">PRE_LINK</span></code>, or <code class="docutils literal"><span class="pre">POST_BUILD</span></code> commands. Object libraries
cannot be imported, exported, installed, or linked. Some native build
systems may not like targets that have only object files, so consider
adding at least one real source file to any target that references
<code class="docutils literal"><span class="pre">$&lt;TARGET_OBJECTS:objlib&gt;</span></code>.</p>
</div>
<div class="section" id="alias-libraries">
<h2><a class="toc-backref" href="#id5">Alias Libraries</a><a class="headerlink" href="#alias-libraries" title="Permalink to this headline"></a></h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">add_library</span><span class="p">(</span><span class="o">&lt;</span><span class="n">name</span><span class="o">&gt;</span> <span class="n">ALIAS</span> <span class="o">&lt;</span><span class="n">target</span><span class="o">&gt;</span><span class="p">)</span>
</pre></div>
</div>
<p>Creates an <a class="reference internal" href="../manual/cmake-buildsystem.7.html#alias-targets"><span class="std std-ref">Alias Target</span></a>, such that <code class="docutils literal"><span class="pre">&lt;name&gt;</span></code> can be
used to refer to <code class="docutils literal"><span class="pre">&lt;target&gt;</span></code> in subsequent commands. The <code class="docutils literal"><span class="pre">&lt;name&gt;</span></code> does
not appear in the generatedbuildsystem as a make target. The <code class="docutils literal"><span class="pre">&lt;target&gt;</span></code>
may not be an <a class="reference internal" href="../manual/cmake-buildsystem.7.html#imported-targets"><span class="std std-ref">Imported Target</span></a> or an <code class="docutils literal"><span class="pre">ALIAS</span></code>.
<code class="docutils literal"><span class="pre">ALIAS</span></code> targets can be used as linkable targets and as targets to
read properties from. They can also be tested for existence with the
regular <span class="target" id="index-0-command:if"></span><a class="reference internal" href="if.html#command:if" title="if"><code class="xref cmake cmake-command docutils literal"><span class="pre">if(TARGET)</span></code></a> subcommand. The <code class="docutils literal"><span class="pre">&lt;name&gt;</span></code> may not be used
to modify properties of <code class="docutils literal"><span class="pre">&lt;target&gt;</span></code>, that is, it may not be used as the
operand of <span class="target" id="index-0-command:set_property"></span><a class="reference internal" href="set_property.html#command:set_property" title="set_property"><code class="xref cmake cmake-command docutils literal"><span class="pre">set_property()</span></code></a>, <span class="target" id="index-0-command:set_target_properties"></span><a class="reference internal" href="set_target_properties.html#command:set_target_properties" title="set_target_properties"><code class="xref cmake cmake-command docutils literal"><span class="pre">set_target_properties()</span></code></a>,
<span class="target" id="index-1-command:target_link_libraries"></span><a class="reference internal" href="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> etc. An <code class="docutils literal"><span class="pre">ALIAS</span></code> target may not be
installed or exported.</p>
</div>
<div class="section" id="interface-libraries">
<h2><a class="toc-backref" href="#id6">Interface Libraries</a><a class="headerlink" href="#interface-libraries" title="Permalink to this headline"></a></h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">add_library</span><span class="p">(</span><span class="o">&lt;</span><span class="n">name</span><span class="o">&gt;</span> <span class="n">INTERFACE</span> <span class="p">[</span><span class="n">IMPORTED</span> <span class="p">[</span><span class="n">GLOBAL</span><span class="p">]])</span>
</pre></div>
</div>
<p>Creates an <a class="reference internal" href="../manual/cmake-buildsystem.7.html#interface-libraries"><span class="std std-ref">Interface Library</span></a>. An <code class="docutils literal"><span class="pre">INTERFACE</span></code>
library target does not directly create build output, though it may
have properties set on it and it may be installed, exported and
imported. Typically the <code class="docutils literal"><span class="pre">INTERFACE_*</span></code> properties are populated on
the interface target using the commands:</p>
<ul class="simple">
<li><span class="target" id="index-1-command:set_property"></span><a class="reference internal" href="set_property.html#command:set_property" title="set_property"><code class="xref cmake cmake-command docutils literal"><span class="pre">set_property()</span></code></a>,</li>
<li><span class="target" id="index-2-command:target_link_libraries"></span><a class="reference internal" href="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(INTERFACE)</span></code></a>,</li>
<li><span class="target" id="index-0-command:target_include_directories"></span><a class="reference internal" href="target_include_directories.html#command:target_include_directories" title="target_include_directories"><code class="xref cmake cmake-command docutils literal"><span class="pre">target_include_directories(INTERFACE)</span></code></a>,</li>
<li><span class="target" id="index-0-command:target_compile_options"></span><a class="reference internal" href="target_compile_options.html#command:target_compile_options" title="target_compile_options"><code class="xref cmake cmake-command docutils literal"><span class="pre">target_compile_options(INTERFACE)</span></code></a>,</li>
<li><span class="target" id="index-0-command:target_compile_definitions"></span><a class="reference internal" href="target_compile_definitions.html#command:target_compile_definitions" title="target_compile_definitions"><code class="xref cmake cmake-command docutils literal"><span class="pre">target_compile_definitions(INTERFACE)</span></code></a>, and</li>
<li><span class="target" id="index-0-command:target_sources"></span><a class="reference internal" href="target_sources.html#command:target_sources" title="target_sources"><code class="xref cmake cmake-command docutils literal"><span class="pre">target_sources(INTERFACE)</span></code></a>,</li>
</ul>
<p>and then it is used as an argument to <span class="target" id="index-3-command:target_link_libraries"></span><a class="reference internal" href="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>
like any other target.</p>
<p>An <code class="docutils literal"><span class="pre">INTERFACE</span></code> <a class="reference internal" href="../manual/cmake-buildsystem.7.html#imported-targets"><span class="std std-ref">Imported Target</span></a> may also be
created with this signature. An <code class="docutils literal"><span class="pre">IMPORTED</span></code> library target references a
library defined outside the project. The target name has scope in the
directory in which it is created and below, but the <code class="docutils literal"><span class="pre">GLOBAL</span></code> option
extends visibility. It may be referenced like any target built within
the project. <code class="docutils literal"><span class="pre">IMPORTED</span></code> libraries are useful for convenient reference
from commands like <span class="target" id="index-4-command:target_link_libraries"></span><a class="reference internal" href="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>.</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="#">add_library</a><ul>
<li><a class="reference internal" href="#normal-libraries">Normal Libraries</a></li>
<li><a class="reference internal" href="#imported-libraries">Imported Libraries</a></li>
<li><a class="reference internal" href="#object-libraries">Object Libraries</a></li>
<li><a class="reference internal" href="#alias-libraries">Alias Libraries</a></li>
<li><a class="reference internal" href="#interface-libraries">Interface Libraries</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="add_executable.html"
title="previous chapter">add_executable</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="add_subdirectory.html"
title="next chapter">add_subdirectory</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/command/add_library.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="add_subdirectory.html" title="add_subdirectory"
>next</a> |</li>
<li class="right" >
<a href="add_executable.html" title="add_executable"
>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-commands.7.html" >cmake-commands(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>