1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>The UTF compilation variants and procedures</title>
<link rel="stylesheet" href="../../style/style.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../index.html" title="Boost Test Library">
<link rel="up" href="../utf.html" title="PartIV.Boost Test Library: The Unit Test Framework">
<link rel="prev" href="../tutorials/new-year-resolution.html" title='Boost.Test driven development or "getting started" for TDD followers'>
<link rel="next" href="compilation/standalone.html" title="Standalone library compilation">
<script language="JavaScript1.2" src="../../js/boost-test.js"></script>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table width="100%"><tr>
<td width="10%"><a href="../index.html"><img alt="Home" width="229" height="61" border="0" src="../../../../../libs/test/docbook/img/boost.test.logo.png"></a></td>
<td valign="middle" align="left"> > <a href="../utf.html">The Unit Test Framework</a> > <b>Compilation</b><a href="user-guide.html">
>
</a>
</td>
<td><div class="spirit-nav">
<a href="../tutorials/new-year-resolution.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a href="compilation/standalone.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div></td>
</tr></table>
<hr>
<div class="chapter" lang="en">
<div class="titlepage"><div><div><h2 class="title">
<a name="utf.compilation"></a>The <acronym class="acronym">UTF</acronym> compilation variants and procedures</h2></div></div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
<dt><a href="compilation/standalone.html">Standalone library compilation</a></dt>
<dt><a href="compilation/auto-linking.html">Auto-linking support</a></dt>
<dt><a href="compilation/direct-include.html">Direct include</a></dt>
</dl>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title"><a name="utf.compilation.impl"></a></h4></div></div></div>
<p class="first-line-indented">
The <acronym class="acronym">UTF</acronym> is comparatively complicated component and is implemented in close to hundred header and source files,
so for long term usage the preferable solution is to build the <acronym class="acronym">UTF</acronym> as a reusable standalone library.
Depending on your platform this may save you a significant time during test module compilation and doesn't
really require that much effort.
<a href="http://boost.org/more/getting_started/index.html" target="_top">Boost Getting started</a> tells you how to get
pre-built libraries for some platforms. If available, this is the easiest option and you can ignore standalone
library compilation instructions below.
</p>
<p class="first-line-indented">
Following files constitute the <acronym class="acronym">UTF</acronym> implementation:
</p>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="files-list"><ul type="disc">
<li><a href="../../../../../boost/test/impl/debug.ipp" target="_top"><code class="filename">debug.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/compiler_log_formatter.ipp" target="_top"><code class="filename">compiler_log_formatter.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/exception_safety.ipp" target="_top"><code class="filename">exception_safety.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/execution_monitor.ipp" target="_top"><code class="filename">execution_monitor.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/framework.ipp" target="_top"><code class="filename">framework.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/interaction_based.ipp" target="_top"><code class="filename">interaction_based.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/logged_expectations.ipp" target="_top"><code class="filename">logged_expectations.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/plain_report_formatter.ipp" target="_top"><code class="filename">plain_report_formatter.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/progress_monitor.ipp" target="_top"><code class="filename">progress_monitor.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/results_collector.ipp" target="_top"><code class="filename">results_collector.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/results_reporter.ipp" target="_top"><code class="filename">results_reporter.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/unit_test_log.ipp" target="_top"><code class="filename">unit_test_log.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/unit_test_main.ipp" target="_top"><code class="filename">unit_test_main.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/unit_test_monitor.ipp" target="_top"><code class="filename">unit_test_monitor.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/unit_test_parameters.ipp" target="_top"><code class="filename">unit_test_parameters.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/unit_test_suite.ipp" target="_top"><code class="filename">unit_test_suite.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/xml_log_formatter.ipp" target="_top"><code class="filename">xml_log_formatter.cpp</code></a></li>
<li><a href="../../../../../boost/test/impl/xml_report_formatter.ipp" target="_top"><code class="filename">xml_report_formatter.cpp</code></a></li>
</ul></div>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="utf.compilation.procedured"></a>Compilation procedures</h4></div></div></div>
<p class="first-line-indented">
In comparison with many other boost libraries, which are completely implemented in header files, compilation and
linking with the <acronym class="acronym">UTF</acronym> may require additional steps. The <acronym class="acronym">UTF</acronym> presents you with options to either
<a class="link" href="compilation/standalone.html" title="Standalone library compilation">built and link with a standalone library</a> or
<a class="link" href="compilation/direct-include.html" title="Including the UTF directly into your test module">include the implementation directly</a> into a test module.
If you opt to use the library the <acronym class="acronym">UTF</acronym> headers implement the
<a class="link" href="compilation/auto-linking.html" title="Support of the auto-linking feature">auto-linking support</a>. The compilation of the <acronym class="acronym">UTF</acronym> library and
a test module can be configured using the following compilation flags.
</p>
<div class="table">
<a name="utf.compilation.flags"></a><p class="title"><b>Table3.The <acronym class="acronym">UTF</acronym> compilation flags</b></p>
<div class="table-contents"><table class="table" summary="The UTF compilation flags">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>Flag</th>
<th>Usage</th>
</tr></thead>
<tbody>
<tr>
<td>
<a name="utf.flag.dyn-link"></a>BOOST_TEST_DYN_LINK</td>
<td>Define this flag to build/use dynamic library.</td>
</tr>
<tr>
<td>
<a name="utf.flag.no-lib"></a>BOOST_TEST_NO_LIB</td>
<td>Define this flag to prevent auto-linking.</td>
</tr>
<tr>
<td>
<a name="utf.flag.no-main"></a>BOOST_TEST_NO_MAIN</td>
<td>Define this flag to prevent function main() implementation generation.</td>
</tr>
<tr>
<td>
<a name="utf.flag.main"></a>BOOST_TEST_MAIN</td>
<td>
Define this flag to generate an empty test module initialization function and in case of
<a class="link" href="user-guide/test-runners.html#utf.user-guide.dynamic-lib-runner" title="Dynamic library variant of the UTF">dynamic library variant</a> default function main()
implementation as well.
</td>
</tr>
<tr>
<td>
<a name="utf.flag.module"></a>BOOST_TEST_MODULE</td>
<td>
Define this flag to generate the test module initialization function, which uses the defined value to name
the master test suite. In case of <a class="link" href="user-guide/test-runners.html#utf.user-guide.dynamic-lib-runner" title="Dynamic library variant of the UTF">dynamic library variant</a>
default function main() implementation is generated as well
</td>
</tr>
<tr>
<td>
<a name="utf.flag.alt-init-api"></a>BOOST_TEST_ALTERNATIVE_INIT_API</td>
<td>
Define this flag to generate the switch to the alternative test module initialization API.
</td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><p class="first-line-indented">
Further in documentation you are going to see in details when and how these flags should be used.
</p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright 2001-2007 Gennadiy Rozental</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../tutorials/new-year-resolution.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utf.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="compilation/standalone.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>
|