Backport lots of new features from the 1.41.0 branch.
[boost:cmake.git] / tools / build / CMake / docs / build / html / testing.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4 <html xmlns="http://www.w3.org/1999/xhtml">
5   <head>
6     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7     
8     <title>Testing &mdash; Boost.CMake 1.40.0.cmake5</title>
9     <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
10     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
11     <script type="text/javascript">
12       var DOCUMENTATION_OPTIONS = {
13         URL_ROOT:    '',
14         VERSION:     '1.40.0.cmake5',
15         COLLAPSE_MODINDEX: false,
16         FILE_SUFFIX: '.html',
17         HAS_SOURCE:  true
18       };
19     </script>
20     <script type="text/javascript" src="_static/jquery.js"></script>
21     <script type="text/javascript" src="_static/doctools.js"></script>
22     <link rel="top" title="Boost.CMake 1.40.0.cmake5" href="index.html" />
23     <link rel="next" title="Building individual libraries with cmake" href="individual_libraries.html" />
24     <link rel="prev" title="Developing with Boost.CMake" href="exported_targets.html" /> 
25   </head>
26   <body>
27     <div class="related">
28       <h3>Navigation</h3>
29       <ul>
30         <li class="right" style="margin-right: 10px">
31           <a href="genindex.html" title="General Index"
32              accesskey="I">index</a></li>
33         <li class="right" >
34           <a href="individual_libraries.html" title="Building individual libraries with cmake"
35              accesskey="N">next</a> |</li>
36         <li class="right" >
37           <a href="exported_targets.html" title="Developing with Boost.CMake"
38              accesskey="P">previous</a> |</li>
39     <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
40     
41         <li><a href="index.html">Boost.CMake 1.40.0.cmake5</a> &raquo;</li>
42  
43       </ul>
44     </div>
45       <div class="sphinxsidebar">
46         <div class="sphinxsidebarwrapper">
47             <p class="logo"><a href="index.html">
48               <img class="logo" src="_static/boost-small.png" alt="Logo"/>
49             </a></p>
50             <h3><a href="index.html">Table Of Contents</a></h3>
51             <ul>
52 <li><a class="reference external" href="">Testing</a><ul>
53 <li><a class="reference external" href="#build-tests">BUILD_TESTS</a></li>
54 <li><a class="reference external" href="#build">Build</a></li>
55 <li><a class="reference external" href="#test">Test</a><ul>
56 <li><a class="reference external" href="#unix-and-nmake">Unix and nmake</a></li>
57 <li><a class="reference external" href="#visual-studio">Visual Studio</a></li>
58 </ul>
59 </li>
60 <li><a class="reference external" href="#targets">Targets</a></li>
61 <li><a class="reference external" href="#the-dashboard">The Dashboard</a></li>
62 <li><a class="reference external" href="#submitting-results">Submitting Results</a></li>
63 <li><a class="reference external" href="#automatic-testing">Automatic testing</a><ul>
64 <li><a class="reference external" href="#continuous">Continuous</a></li>
65 <li><a class="reference external" href="#nightly">Nightly</a></li>
66 </ul>
67 </li>
68 </ul>
69 </li>
70 </ul>
71
72             <h4>Previous topic</h4>
73             <p class="topless"><a href="exported_targets.html"
74                                   title="previous chapter">Developing with Boost.CMake</a></p>
75             <h4>Next topic</h4>
76             <p class="topless"><a href="individual_libraries.html"
77                                   title="next chapter">Building individual libraries with cmake</a></p>
78             <h3>This Page</h3>
79             <ul class="this-page-menu">
80               <li><a href="_sources/testing.txt"
81                      rel="nofollow">Show Source</a></li>
82             </ul>
83         </div>
84       </div>
85
86     <div class="document">
87       <div class="documentwrapper">
88         <div class="bodywrapper">
89           <div class="body">
90             
91   <div class="section" id="testing">
92 <span id="id1"></span><h1>Testing<a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h1>
93 <p>Boost&#8217;s CMake-based build system provides regression testing via
94 <a class="reference external" href="http://www.cmake.org/Wiki/CMake_Testing_With_CTest">CTest</a>, which
95 comes as part of CMake. This regression testing system can be used by
96 Boost developers to test their libraries locally and also by testers
97 and users to submit regression tests to a <a class="reference external" href="http://www.cdash.org/CDashPublic/index.php?project=Boost">CDash server</a>, which
98 collects and reports regression-testing results from different
99 sites. This document assumes that the reader has already learned how
100 to build and configure Boost using CMake.</p>
101 <div class="section" id="build-tests">
102 <span id="index-865"></span><span id="id2"></span><h2>BUILD_TESTS<a class="headerlink" href="#build-tests" title="Permalink to this headline">¶</a></h2>
103 <p>The variable BUILD_TESTS is a comma-separated list of projects for
104 which testing will be enabled, e.g.:</p>
105 <div class="highlight-python"><div class="highlight"><pre><span class="n">accumulators</span><span class="p">;</span><span class="n">iostreams</span><span class="p">;</span><span class="n">variant</span>
106 </pre></div>
107 </div>
108 <p>or the string <tt class="docutils literal"><span class="pre">&quot;ALL&quot;</span></tt> for all projects, or the string
109 <tt class="docutils literal"><span class="pre">&quot;NONE&quot;</span></tt> to disable testing.</p>
110 <p>If you re-run the CMake configuration for Boost with <tt class="docutils literal"><span class="pre">BUILD_TESTS</span></tt>
111 set to <tt class="docutils literal"><span class="pre">ALL</span></tt>, you will notice that configuration takes significantly
112 longer when we are building all of the regression tests.  This is due
113 to the very large number of toplevel targets (thousands) that are
114 created.  Until boost&#8217;s testing scheme is reorganized to reduce this
115 number, we anticipate that only testing nodes will want to test ALL,
116 whereas developers will want to test the library under development and
117 those that are dependent on it.</p>
118 <span class="target" id="index-866"></span><span class="target" id="index-867"></span><div class="admonition warning" id="index-868">
119 <p class="first admonition-title">Warning</p>
120 <p class="last">It is <strong>not</strong> recommended to set <tt class="docutils literal"><span class="pre">BUILD_TESTS</span></tt> to
121 <tt class="docutils literal"><span class="pre">&quot;ALL&quot;</span></tt> when using Visual Studio generators.  A very
122 large number (thousands) of targets are generated and
123 this can bring VS to grinding halt.  To run all tests,
124 choose the <tt class="docutils literal"><span class="pre">NMake</span></tt> generator, see <a class="reference external" href="quickstart.html#nmake"><em>Configuration for NMake</em></a>.</p>
125 </div>
126 <p>Be sure to re-configure CMake once you are done tweaking these
127 options, and generate makefiles or project files, as mentioned in
128 <a class="reference external" href="quickstart.html#quickstart"><em>Quickstart</em></a>.</p>
129 <p>If you&#8217;re using a command-line configuration (nmake files, unix
130 makefiles) you can simplify this process by passing the value of
131 <tt class="docutils literal"><span class="pre">BUILD_TESTS</span></tt> on the command line, e.g.</p>
132 <div class="highlight-python"><pre>cmake ../src -DBUILD_TESTS=mpi;graph_parallel</pre>
133 </div>
134 <div class="admonition note">
135 <p class="first admonition-title">Note</p>
136 <p class="last">In Visual Studio, you should be prompted by the gui to
137 reload the project.  If you&#8217;re unlucky, you will be prompted a
138 thousand times to reload each individual solution.  For this
139 reason, our current best recommendataion is to close and reopen the
140 project if you rebuild <tt class="docutils literal"><span class="pre">Boost.sln</span></tt>.</p>
141 </div>
142 </div>
143 <div class="section" id="build">
144 <h2>Build<a class="headerlink" href="#build" title="Permalink to this headline">¶</a></h2>
145 <p>Follow the same building process described in <a class="reference external" href="quickstart.html#quickstart"><em>Quickstart</em></a>.  For
146 Unix users, don&#8217;t forget the <cite>-i</cite> option to <cite>make</cite> (ignore errors),
147 and also possibly <cite>-j 2</cite> (or more) to run the build process in
148 parallel. Building all of the regression tests for the Boost libraries
149 can take a long time.</p>
150 <div class="highlight-python"><div class="highlight"><pre><span class="n">make</span> <span class="o">-</span><span class="n">j2</span> <span class="o">-</span><span class="n">i</span>
151 </pre></div>
152 </div>
153 <div class="admonition note">
154 <p class="first admonition-title">Note</p>
155 <p class="last">If you change Boost source files in a way that affects your
156 tests, you will need to rebuild to update the libraries and
157 test executables before moving on to the next step.</p>
158 </div>
159 </div>
160 <div class="section" id="test">
161 <h2>Test<a class="headerlink" href="#test" title="Permalink to this headline">¶</a></h2>
162 <p>Once regression tests have finished building,</p>
163 <div class="section" id="unix-and-nmake">
164 <h3>Unix and nmake<a class="headerlink" href="#unix-and-nmake" title="Permalink to this headline">¶</a></h3>
165 <p>at a command prompt, <tt class="docutils literal"><span class="pre">cd</span></tt> to the Boost binary directory. Then, run
166 the command:</p>
167 <div class="highlight-python"><div class="highlight"><pre><span class="n">ctest</span>
168 </pre></div>
169 </div>
170 <p>to execute all of the regression tests. The <cite>ctest</cite> executable comes
171 with cmake.  On Unix platforms, this is the same place where <cite>ccmake</cite>
172 resides. On Windows platforms, it will be in <tt class="docutils literal"><span class="pre">C:\Program</span>
173 <span class="pre">Files\CMake</span> <span class="pre">X.Y\bin</span></tt>. The ctest program should produce output like the
174 following:</p>
175 <div class="highlight-python"><pre>Start processing tests
176 Test project /Users/dgregor/Projects/boost-darwin
177   1/ 22 Testing any-any_test                    Passed
178   2/ 22 Testing any-any_to_ref_test             Passed
179   3/ 22 Testing function-lib_function_test      Passed
180   4/ 22 Testing function-function_n_test        Passed
181   5/ 22 Testing function-allocator_test         Passed
182   6/ 22 Testing function-stateless_test         Passed
183   7/ 22 Testing function-lambda_test            Passed
184   8/ 22 Testing function-function_test_fail1 ***Failed - supposed to fail
185   9/ 22 Testing function-function_test_fail2 ***Failed - supposed to fail
186  10/ 22 Testing function-function_30            Passed
187  11/ 22 Testing function-function_arith_cxx98   Passed
188  12/ 22 Testing function-function_arith_porta   Passed
189  13/ 22 Testing function-sum_avg_cxx98          Passed
190  14/ 22 Testing function-sum_avg_portable       Passed
191  15/ 22 Testing function-mem_fun_cxx98          Passed
192  16/ 22 Testing function-mem_fun_portable       Passed
193  17/ 22 Testing function-std_bind_cxx98         Passed
194  18/ 22 Testing function-std_bind_portable      Passed
195  19/ 22 Testing function-function_ref_cxx98     Passed
196  20/ 22 Testing function-function_ref_portabl   Passed
197  21/ 22 Testing function-contains_test          Passed
198  22/ 22 Testing function-contains2_test         Passed
199
200 100% tests passed, 0 tests failed out of 22</pre>
201 </div>
202 <p>Here, we have only enabled testing of the Boost.Any and Boost.Function
203 libraries, by setting <cite>BUILD_TESTS</cite> to <cite>any;function</cite>.</p>
204 <div class="admonition warning">
205 <p class="first admonition-title">Warning</p>
206 <p class="last">Again, This <tt class="docutils literal"><span class="pre">ctest</span></tt> step runs the tests without first
207 running a build.  If you change a source file and run the
208 <tt class="docutils literal"><span class="pre">ctest</span></tt> step you will see that no build is invoked.</p>
209 </div>
210 <p>To run just a subset of the tests, pass <tt class="docutils literal"><span class="pre">-R</span></tt> and a regular
211 expression to <tt class="docutils literal"><span class="pre">ctest</span></tt> (see the output of <tt class="docutils literal"><span class="pre">ctest</span> <span class="pre">--help-full</span></tt>). For
212 example, to run all of the Python tests, use:</p>
213 <div class="highlight-python"><pre>ctest -R python</pre>
214 </div>
215 <p>There is also a <tt class="docutils literal"><span class="pre">-E</span></tt> (exclude) option which does the inverse of <tt class="docutils literal"><span class="pre">-R</span></tt>.
216 <tt class="docutils literal"><span class="pre">ctest</span> <span class="pre">--help</span></tt> shows the full list of options.</p>
217 <span class="target" id="index-869"></span></div>
218 <div class="section" id="visual-studio">
219 <span id="index-870"></span><h3>Visual Studio<a class="headerlink" href="#visual-studio" title="Permalink to this headline">¶</a></h3>
220 <p>You will see a solution named <tt class="docutils literal"><span class="pre">RUN_TESTS</span></tt>.  Build this to run the
221 tests.</p>
222 </div>
223 </div>
224 <div class="section" id="targets">
225 <h2>Targets<a class="headerlink" href="#targets" title="Permalink to this headline">¶</a></h2>
226 <p>The testing subsystem adds toplevel targets to the build.  On unix you
227 can see them in the output of <tt class="docutils literal"><span class="pre">make</span> <span class="pre">help</span></tt>.  For example some of the
228 accumulators test targets look like this:</p>
229 <div class="highlight-python"><pre>% make help | grep accum
230 ... accumulators-tests-count
231 ... accumulators-tests-covariance
232 ... accumulators-tests-droppable
233 ... accumulators-tests-error_of
234 ... accumulators-tests-extended_p_square
235 ... accumulators-tests-extended_p_square_quantile</pre>
236 </div>
237 <p>Note that they are prefixed with the name of the project, a dash, and
238 &#8216;tests&#8217;.  Under visual studio you will see these targets in the
239 &#8216;solution explorer&#8217;.</p>
240 </div>
241 <div class="section" id="the-dashboard">
242 <span id="id3"></span><h2>The Dashboard<a class="headerlink" href="#the-dashboard" title="Permalink to this headline">¶</a></h2>
243 <p>Donated by kitware, it is here:</p>
244 <p><a class="reference external" href="http://www.cdash.org/CDashPublic/index.php?project=Boost">http://www.cdash.org/CDashPublic/index.php?project=Boost</a></p>
245 </div>
246 <div class="section" id="submitting-results">
247 <h2>Submitting Results<a class="headerlink" href="#submitting-results" title="Permalink to this headline">¶</a></h2>
248 <div class="admonition warning">
249 <p class="first admonition-title">Warning</p>
250 <p class="last">This needs updating for git</p>
251 </div>
252 <p>The <tt class="docutils literal"><span class="pre">ctest</span></tt> command can be used by individual developers to test
253 local changes to their libraries. The same program can also be used to
254 build all of Boost, run its regression tests, and submit the results
255 to a central server where others can view them. Currently, regression
256 test results based on the CMake build system are displayed on the Dart
257 server at <a class="reference external" href="http://www.cdash.org/CDashPublic/index.php?project=Boost">http://www.cdash.org/CDashPublic/index.php?project=Boost</a>.</p>
258 <p>To submit &#8220;experimental&#8221; results to the Dart server, configure a Boost
259 binary tree by following the configuration instructions in the section
260 <a class="reference external" href="quickstart.html#quickstart"><em>Quickstart</em></a>, and then enable regression testing via the
261 <cite>BOOST_TESTS=ALL</cite> option, as described above. At this point, don&#8217;t build
262 anything! We&#8217;ll let CTest do that work. You may want to customize some
263 of the advanced CMake options, such as <cite>SITE</cite> (to give your site
264 name), and <cite>MAKECOMMAND</cite> (which, for makefile targets, governs the
265 top-level make call when building Boost). Finally, go into the Boost
266 binary directory and execute:</p>
267 <div class="highlight-python"><pre>ctest -D Experimental</pre>
268 </div>
269 <p>CTest will then reconfigure Boost, build all of the Boost libraries
270 and regression tests, execute the regression tests, and submit the
271 results to the Dart dashboard at
272 <a class="reference external" href="http://www.cdash.org/CDashPublic/index.php?project=Boost">http://www.cdash.org/CDashPublic/index.php?project=Boost</a>.  Results
273 submitted to the dashboard are usually browsable momentarily within a
274 minute or two.</p>
275 </div>
276 <div class="section" id="automatic-testing">
277 <h2>Automatic testing<a class="headerlink" href="#automatic-testing" title="Permalink to this headline">¶</a></h2>
278 <div class="section" id="continuous">
279 <h3>Continuous<a class="headerlink" href="#continuous" title="Permalink to this headline">¶</a></h3>
280 <p>Here is a recommended setup.</p>
281 <p>Create a directory <tt class="docutils literal"><span class="pre">ctest</span></tt> on your test drone containing
282 subdirectories for the branches you&#8217;ll be testing, in this case
283 <em>release</em> and <em>trunk</em>.</p>
284 <div class="highlight-python"><pre>boost/
285   ctest/
286     branches/
287       release/
288         continuous/
289           build/        &lt;= run ctest here
290           src/          &lt;= checkout to here
291         nightly/
292           build/        &lt;= run ctest here
293           src/          &lt;= checkout to here</pre>
294 </div>
295 <p>and check out source to the directories listed above.  We&#8217;ll do the
296 release branch as an example:</p>
297 <div class="highlight-python"><pre>% cd boost/ctest/branches/release
298 % svn co http://svn.boost.org/svn/boost/branches/release src
299 #
300 # lots of output
301 #
302 % mkdir continuous
303 % cd continuous</pre>
304 </div>
305 <p>now configure your build, enabling testing.  In this case I&#8217;ll also
306 use an alternate compiler, from Intel:</p>
307 <div class="highlight-python"><pre>% cmake ../src -DBUILD_TESTING=ON -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc
308 -- The C compiler identification is Intel
309 -- The CXX compiler identification is Intel
310 -- Check for working C compiler: /opt/intel/Compiler/11.0/083/bin/intel64/icc
311 -- Check for working C compiler: /opt/intel/Compiler/11.0/083/bin/intel64/icc -- works
312
313    (etc)
314
315 -- Configuring done
316 -- Generating done
317 -- Build files have been written to: /home/troy/Projects/boost/ctest/release/continuous/build</pre>
318 </div>
319 <p>Now run <tt class="docutils literal"><span class="pre">ctest</span> <span class="pre">-D</span> <span class="pre">Continuous</span></tt> in a loop:</p>
320 <div class="highlight-python"><pre>% while true
321 while&gt; do
322 while&gt; ctest -D Continuous
323 while&gt; sleep 600   # take it easy on the repository
324 while&gt; done
325    Site: zinc
326    Build name: intel-11.0-linux
327 Create new tag: 20090514-2207 - Continuous
328 Start processing tests
329 Updating the repository
330    Updating the repository: /home/troy/Projects/boost/ctest/release/nightly/src
331    Use SVN repository type
332    Old revision of repository is: 53002
333    New revision of repository is: 53005
334    Gathering version information (one . per revision):
335
336    (etc)</pre>
337 </div>
338 <p>If you add <tt class="docutils literal"><span class="pre">-V</span> <span class="pre">or</span> <span class="pre">-VV</span></tt> you&#8217;ll get a little more feedback about what
339 is going on.  On unix it is handy to do this via the utility <em>screen</em>.</p>
340 <div class="admonition-todo admonition " id="todo-871">
341 <p class="first admonition-title">Todo</p>
342 <p class="last">Figure out how to do this on windows, encapsulate some of
343 this scripting.  Just use the ctest builtin scripting
344 language.</p>
345 </div>
346 </div>
347 <div class="section" id="nightly">
348 <h3>Nightly<a class="headerlink" href="#nightly" title="Permalink to this headline">¶</a></h3>
349 <p>Nightly testing should run triggered by a cron job or by Windows Task
350 Scheduler or what-have-you.  You will need,</p>
351 <ul class="simple">
352 <li>a directory to work in</li>
353 <li>installed cmake/ctest/svn</li>
354 </ul>
355 <p>but not a checkout of boost.  CTest will do the checkout, build, test
356 and submit on its own.</p>
357 <p>Create a directory to run in.  As in the previous section, we&#8217;ll use
358 <tt class="docutils literal"><span class="pre">boost/ctest/branches/release/nightly</span></tt>, which I&#8217;ll call <tt class="docutils literal"><span class="pre">$DIR</span></tt>.
359 The CTest script should look like the following (you can copy/paste
360 this into <tt class="docutils literal"><span class="pre">$DIR/CTestNightly.cmake</span></tt></p>
361 <div class="highlight-python"><pre>execute_process(COMMAND /bin/pwd
362   OUTPUT_VARIABLE PWD
363   OUTPUT_STRIP_TRAILING_WHITESPACE)
364
365 message(STATUS "Running nightly build in ${PWD}")
366
367 set(CTEST_SOURCE_DIRECTORY ${PWD}/src)
368 set(CTEST_BINARY_DIRECTORY ${PWD}/build)
369
370 # what cmake command to use for configuring this dashboard
371 set(CTEST_CMAKE_COMMAND "/usr/local/bin/cmake")
372 set(CTEST_CTEST_COMMAND "/usr/local/bin/ctest")
373 set(CTEST_CVS_COMMAND "svn")
374
375 set(CTEST_CVS_CHECKOUT  "${CTEST_CVS_COMMAND} co https://svn.boost.org/svn/boost/branches/release ${CTEST_SOURCE_DIRECTORY}")
376
377 # which ctest command to use for running the dashboard
378 set(CTEST_COMMAND
379   "${CTEST_CTEST_COMMAND} -VV -D Experimental -A ${PWD}/notes.txt -O ctest.log"
380   )
381
382
383
384 ####################################################################
385 # The values in this section are optional you can either
386 # have them or leave them commented out
387 ####################################################################
388
389 # should ctest wipe the binary tree before running
390 set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
391
392 #
393 # this is the initial cache to use for the binary tree, be careful to escape
394 # any quotes inside of this string if you use it
395 #
396 # Yes you can pass cmake -DBUILD_WHATEVER=ON type options here.
397 #
398 set(CTEST_INITIAL_CACHE "
399
400 CMAKE_CXX_COMPILER:STRING=/opt/intel/Compiler/11.0/083/bin/intel64/icpc
401 CMAKE_C_COMPILER:STRING=/opt/intel/Compiler/11.0/083/bin/intel64/icc
402
403 SITE:STRING=zinc
404 MAKECOMMAND:STRING=make -i -j2
405 DART_TESTING_TIMEOUT:STRING=30
406 BUILD_TESTS:STRING=ALL
407 BUILD_EXAMPLES:STRING=ALL
408 CVSCOMMAND:FILEPATH=${CTEST_CVS_COMMAND}
409 ")</pre>
410 </div>
411 <p>You will need to customize several variables:</p>
412 <ul class="simple">
413 <li><strong>CTEST_CMAKE_COMMAND</strong> the path to your cmake binary</li>
414 <li><strong>CTEST_CTEST_COMMAND</strong> the path to your ctest binary (should be in
415 the same place as cmake)</li>
416 <li><strong>CTEST_CVS_COMMAND</strong> The path to subversion.</li>
417 <li><strong>CMAKE_CXX_COMPILER:STRING</strong>, <strong>CMAKE_C_COMPILER:STRING</strong> Note the
418 syntax here, the trailing <tt class="docutils literal"><span class="pre">:STRING</span></tt>.  If you are using a
419 nonstandard compiler, set it here.</li>
420 <li><strong>MAKECOMMAND:STRING</strong> The path to your make command.  <em>NOTE</em> if you
421 set this, be sure that the <tt class="docutils literal"><span class="pre">-i</span></tt> (ignore-errors) flag is included.
422 If it isn&#8217;t, the first compile/link error will stop the build and
423 testing will commence.</li>
424 <li><strong>SITE:STRING</strong> This is what will appear as the &#8216;hostname&#8217; in your
425 posted dashboards.  Customize as you like.</li>
426 </ul>
427 <p>Now you&#8217;ll create a &#8220;notes&#8221; file, call it <tt class="docutils literal"><span class="pre">notes.txt</span></tt>.  This will be
428 visible from the dashboard.   Add the output of, e.g:</p>
429 <div class="highlight-python"><div class="highlight"><pre><span class="n">gcc</span> <span class="o">--</span><span class="n">version</span>
430 <span class="n">uname</span> <span class="o">-</span><span class="n">a</span>
431 </pre></div>
432 </div>
433 <p>and the contents of the <tt class="docutils literal"><span class="pre">CTestNightly.cmake</span></tt> itself.  Example:</p>
434 <div class="highlight-python"><pre>**************** CMAKE DASHBOARD NOTES *****************
435
436 Notes file for CMake Nightly Dashboard.
437
438 This dashboard is being generated on an eight core, 64 bit
439 Ubuntu 9.04 machine with an intel c++ compiler.
440
441
442 Questions about this Dashboard should be directed to troy@resophonic.com
443
444 Linux zinc 2.6.27-11-generic #1 SMP Wed Apr 1 20:53:41 UTC 2009 x86_64 GNU/Linux
445
446 icpc (ICC) 11.0 20090318
447 Copyright (C) 1985-2009 Intel Corporation.  All rights reserved.
448
449 --------------- Script file ---------------
450
451 (contents of CTestNightly.cmake)</pre>
452 </div>
453 <p>Now run (as a cronjob or at the command line):</p>
454 <div class="highlight-python"><pre>ctest -S CTestNightly.cmake</pre>
455 </div>
456 <p>if you want extra verbosity add a <tt class="docutils literal"><span class="pre">-VV</span></tt> flag.  You&#8217;ll see something like the following:</p>
457 <div class="highlight-python"><pre>+ /opt/local/bin/ctest -VV -S CMakeDashBoard.cmake
458 * Extra verbosity turned on
459 Reading Script: /Users/troy/ctest/boost/release/nightly/CMakeDashBoard.cmake
460 Run cmake command: /opt/i3/ports/bin/cmake "/Users/troy/ctest/boost/release/nightly/src"
461 -- The C compiler identification is GNU
462 -- The CXX compiler identification is GNU
463 -- Check for working C compiler: /usr/bin/gcc
464 (etc)
465 -- Configuring done
466 -- Generating done
467 -- Build files have been written to: /Users/troy/ctest/boost/release/nightly/build
468 Run ctest command: /opt/i3/ports/bin/ctest -VV -D Nightly -A /Users/troy/ctest/boost/release/nightly/notes.txt -O ctest.log
469 UpdateCTestConfiguration  from :/Users/troy/ctest/boost/release/nightly/build/DartConfiguration.tcl
470 Parse Config file:/Users/troy/ctest/boost/release/nightly/build/DartConfiguration.tcl
471    Site: silver
472    Build name: gcc-4.0.1-macos
473 (etc, etc)</pre>
474 </div>
475 <p>You&#8217;ll see it configure again, run... and sooner or later you&#8217;ll see
476 your results on <a class="reference internal" href="#the-dashboard"><em>The Dashboard</em></a>.</p>
477 </div>
478 </div>
479 </div>
480
481
482           </div>
483         </div>
484       </div>
485       <div class="clearer"></div>
486     </div>
487     <div class="related">
488       <h3>Navigation</h3>
489       <ul>
490         <li class="right" style="margin-right: 10px">
491           <a href="genindex.html" title="General Index"
492              >index</a></li>
493         <li class="right" >
494           <a href="individual_libraries.html" title="Building individual libraries with cmake"
495              >next</a> |</li>
496         <li class="right" >
497           <a href="exported_targets.html" title="Developing with Boost.CMake"
498              >previous</a> |</li>
499     <li><a href="http://www.boost.org/">Boost</a> &raquo;</li>
500     
501         <li><a href="index.html">Boost.CMake 1.40.0.cmake5</a> &raquo;</li>
502  
503       </ul>
504     </div>
505     <div class="footer">
506       &copy; Copyright 2008-2009, Troy D. Straszheim, 2008 Douglas Gregor --  Version 31c30425cf29d2ae048ffb07c8284cee1e095b7a, Mon, 26 Oct 2009.
507       Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.2.
508     </div>
509   </body>
510 </html>