1 Star 0 Fork 0

mobangjack / memory

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
md_doc_options.html 6.40 KB
一键复制 编辑 原始数据 按行查看 历史
Jonathan Müller 提交于 2020-05-05 17:04 . Update documentation
<!-- HTML header for doxygen 1.8.16-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>memory: CMake options for configuring the library</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">memory
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="main-nav">
<ul class="sm sm-dox" id="main-menu">
<li><a href="index.html">Main Page</a></li>
<li><a href="md_doc_tutorial.html">Tutorial</a></li>
<li><a href="namespacefoonathan_1_1memory.html">Index</a></li>
<li><a href="files.html">Files</a></li>
</ul>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
</div><!-- top -->
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">CMake options for configuring the library </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>When installing the library, each build type (<code>-DCMAKE_BUILD_TYPE=XXX</code>) allows a separate configuration. The configuration doesn't affect your targets, you can link to any configuration (your compiler might complain though, if you link your debug target to a library compiled in release mode or vice-versa).</p>
<p>The build types <code>Debug</code>, <code>RelWithDebInfo</code> and <code>Release</code> provide pre-defined values for the debugging options, those cannot be overridden.</p>
<p>You can create as many build types as you want.</p>
<h1><a class="anchor" id="autotoc_md67"></a>
Options</h1>
<p>There are the following variables available to configure it:</p>
<ul>
<li><code>COMP_HAS_*</code>: specifies compatibility options, that is, whether a certain C++ feature is available under your compiler. They are automatically detected by CMake, so there is usually no need to change them.</li>
<li><code>FOONATHAN_MEMORY_BUILD_EXAMPLES/_TESTS</code>: whether or not to build examples or tests. If this is <code>OFF</code> their CMake scripts are not even included. It is <code>ON</code> for standalone builds and <code>OFF</code> if used in <code>add_subdirectory()</code>.</li>
<li><code>FOONATHAN_MEMORY_BUILD_TOOLS</code>: whether or not build the tools. Unlike the other two options, this is always <code>ON</code>.</li>
<li><code>FOONATHAN_MEMORY_EXTERN_TEMPLATE</code>: If active the library provides already the definition of common instantiations of its class templates. This can speed up compilation time of user code since the compiler does not need to generate the definition each time the class instantiation is used (this compilation time is done when compiling the library and the size of the library binary increases). Default is <code>ON</code>.</li>
<li><code>FOONATHAN_MEMORY_DEFAULT_ALLOCATOR</code>: The default allocator used by the higher level allocator classes. One of the low level allocators (see <a class="el" href="group__allocator.html#ga10acce2d854fc42fea7306e511d9cd10">foonathan::memory::default_allocator</a>). Default is <code>heap_allocator</code>.</li>
<li><code>FOONATHAN_MEMORY_TEMPORARY_STACK_MODE</code>: The <code>temporary_allocator</code> uses a <code>temporary_stack</code> for its allocation. This option controls how and if a global, per-thread instance of it is managed. If <code>2</code> it is automatically managed and created on-demand, if <code>1</code> you need explicit lifetime control through the <code>temporary_stack_initializer</code> class and if <code>0</code> there is no stack created automatically. Mode <code>2</code> has a slight runtime overhead.</li>
<li><code>FOONATHAN_MEMORY_DEBUG_*</code>: Specifies debugging options such as pointer check in <code>deallocate()</code> or filling newly allocated memory with values. They are set automatically for certain build types and cannot be overriden: All of them are enabled in <code>Debug</code> builds, the faster ones in <code>RelWithDebInfo</code> and none in <code>Release</code>. See <a href="md_doc_debug_error.html#debugging">debugging</a> for a detailed description.</li>
</ul>
<p>A list of all options with description is generated by calling <code>cmake -LH</code>.</p>
<h1><a class="anchor" id="autotoc_md68"></a>
Variables and targets</h1>
<p>The following variables or targets are available if used with <code>add_subdirectory()</code>:</p>
<ul>
<li><code>FOONATHAN_MEMORY_INCLUDE_DIR</code> (variable): The include directory for the header files.</li>
<li><code>FOONATHAN_MEMORY_VERSION[_MAJOR/MINOR]</code> (variable): Major and minor version of the library.</li>
<li><code>foonathan_memory</code> (target): The target of the library you can link to.</li>
<li><code>foonathan_memory_example_*</code> (target): The targets for the examples. Only available if <code>FOONATHAN_MEMORY_BUILD_EXAMPLES</code> is <code>ON</code>.</li>
<li><code>foonathan_memory_test</code> (target): The test target. Only available if <code>FOONATHAN_MEMORY_BUILD_TESTS</code> is <code>ON</code>.</li>
<li><code>foonathan_memory_profiling</code> (target): The profiling target. Only available if <code>FOONATHAN_MEMORY_BUILD_TESTS</code> is <code>ON</code>.</li>
<li><code>foonathan_memory_node_size_debugger</code> (target): The target that generates the container node size information. Only available if <code>FOONATHAN_MEMORY_BUILD_TOOLS</code> is <code>ON</code>.</li>
</ul>
<p>Also every function from <a href="https://github.com/foonathan/compatiblity">foonathan/compatibility</a> is exposed. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- HTML footer for doxygen 1.8.16-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>
1
https://gitee.com/mobangjack/memory.git
git@gitee.com:mobangjack/memory.git
mobangjack
memory
memory
gh-pages

搜索帮助