bake-toolkit 2.19.2 → 2.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/_build/html/_images/dot.png +0 -0
  3. data/documentation/_build/html/_images/dotP.png +0 -0
  4. data/documentation/_build/html/_images/dotPC.png +0 -0
  5. data/documentation/_build/html/_sources/changelog.txt +12 -0
  6. data/documentation/_build/html/_sources/concepts/concepts.txt +2 -0
  7. data/documentation/_build/html/_sources/concepts/inject.txt +65 -0
  8. data/documentation/_build/html/_sources/concepts/prebuild.txt +56 -0
  9. data/documentation/_build/html/_sources/index.txt +1 -1
  10. data/documentation/_build/html/_sources/syntax/auto_adjustment.txt +43 -0
  11. data/documentation/_build/html/_sources/syntax/syntax.txt +1 -1
  12. data/documentation/_build/html/_sources/syntax/variable_substitutions.txt +41 -68
  13. data/documentation/_build/html/_sources/tips_and_tricks/dot.txt +34 -0
  14. data/documentation/_build/html/_sources/tips_and_tricks/tips_and_tricks.txt +1 -1
  15. data/documentation/_build/html/_static/dot.png +0 -0
  16. data/documentation/_build/html/_static/dotP.png +0 -0
  17. data/documentation/_build/html/_static/dotPC.png +0 -0
  18. data/documentation/_build/html/_static/syntax.html +20 -0
  19. data/documentation/_build/html/changelog.html +17 -3
  20. data/documentation/_build/html/commandline/commandline.html +3 -3
  21. data/documentation/_build/html/concepts/build_hierarchy.html +3 -3
  22. data/documentation/_build/html/concepts/concepts.html +13 -3
  23. data/documentation/_build/html/concepts/inject.html +217 -0
  24. data/documentation/_build/html/concepts/link_order.html +3 -3
  25. data/documentation/_build/html/concepts/prebuild.html +205 -0
  26. data/documentation/_build/html/concepts/the_main_project.html +3 -3
  27. data/documentation/_build/html/concepts/the_project_meta_file.html +3 -3
  28. data/documentation/_build/html/genindex.html +3 -3
  29. data/documentation/_build/html/ide/eclipse/eclipse.html +3 -3
  30. data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +3 -3
  31. data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +3 -3
  32. data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +3 -3
  33. data/documentation/_build/html/ide/eclipse/how_to_debug_in_eclipse.html +3 -3
  34. data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +3 -3
  35. data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +3 -3
  36. data/documentation/_build/html/ide/ide_integrations.html +3 -3
  37. data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +3 -3
  38. data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +3 -3
  39. data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +3 -3
  40. data/documentation/_build/html/ide/vs/vs.html +3 -3
  41. data/documentation/_build/html/ide/vs/vs_install.html +3 -3
  42. data/documentation/_build/html/index.html +10 -7
  43. data/documentation/_build/html/install/install_bake.html +3 -3
  44. data/documentation/_build/html/internal.html +3 -3
  45. data/documentation/_build/html/known_issues.html +3 -3
  46. data/documentation/_build/html/license.html +3 -3
  47. data/documentation/_build/html/performance/performance.html +5 -5
  48. data/documentation/_build/html/quickstart/quickstart.html +3 -3
  49. data/documentation/_build/html/search.html +3 -3
  50. data/documentation/_build/html/searchindex.js +1 -1
  51. data/documentation/_build/html/syntax/adapt_configs.html +3 -3
  52. data/documentation/_build/html/syntax/auto_adjustment.html +190 -0
  53. data/documentation/_build/html/syntax/derive_configs.html +3 -3
  54. data/documentation/_build/html/syntax/project_meta_syntax.html +23 -3
  55. data/documentation/_build/html/syntax/syntax.html +11 -7
  56. data/documentation/_build/html/syntax/variable_substitutions.html +54 -67
  57. data/documentation/_build/html/tips_and_tricks/{bundle.html → dot.html} +25 -19
  58. data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +3 -3
  59. data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +3 -3
  60. data/documentation/_build/html/tips_and_tricks/the_bakery.html +3 -3
  61. data/documentation/_build/html/tips_and_tricks/the_clang.html +5 -5
  62. data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +4 -4
  63. data/documentation/_build/html/why_bake/why_bake.html +5 -5
  64. data/lib/adapt/config/loader.rb +37 -35
  65. data/lib/bake/config/checks.rb +19 -11
  66. data/lib/bake/config/loader.rb +67 -60
  67. data/lib/bake/model/metamodel.rb +56 -30
  68. data/lib/bake/options/options.rb +37 -3
  69. data/lib/bake/options/usage.rb +12 -3
  70. data/lib/bake/subst.rb +5 -2
  71. data/lib/blocks/block.rb +27 -6
  72. data/lib/blocks/blockBase.rb +2 -17
  73. data/lib/blocks/compile.rb +91 -91
  74. data/lib/blocks/executable.rb +41 -41
  75. data/lib/common/version.rb +1 -1
  76. data/lib/tocxx.rb +212 -55
  77. metadata +16 -4
  78. data/documentation/_build/html/_sources/tips_and_tricks/bundle.txt +0 -24
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Syntax &mdash; bake 2.19.2 documentation</title>
8
+ <title>Syntax &mdash; bake documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.19.2',
18
+ VERSION: '',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,9 +29,9 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.19.2 documentation" href="../index.html" />
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
33
  <link rel="next" title="The Syntax of the Project.meta file" href="project_meta_syntax.html" />
34
- <link rel="prev" title="The link order" href="../concepts/link_order.html" />
34
+ <link rel="prev" title="Injection and inheritance" href="../concepts/inject.html" />
35
35
  <meta charset='utf-8'>
36
36
  <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
37
37
  <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
@@ -105,7 +105,7 @@
105
105
 
106
106
 
107
107
  <li>
108
- <a href="../concepts/link_order.html" title="Previous Chapter: The link order"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; The link order</span>
108
+ <a href="../concepts/inject.html" title="Previous Chapter: Injection and inheritance"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Injection and...</span>
109
109
  </a>
110
110
  </li>
111
111
  <li>
@@ -146,10 +146,13 @@
146
146
  </ul>
147
147
  </li>
148
148
  <li class="toctree-l1"><a class="reference internal" href="variable_substitutions.html">Variables in Project.meta</a><ul>
149
+ <li class="toctree-l2"><a class="reference internal" href="variable_substitutions.html#using-variables">Using variables</a></li>
149
150
  <li class="toctree-l2"><a class="reference internal" href="variable_substitutions.html#user-defined-variables">User defined variables</a></li>
150
- <li class="toctree-l2"><a class="reference internal" href="variable_substitutions.html#pre-defined-bake-environment-variables">Pre defined bake environment variables</a></li>
151
+ <li class="toctree-l2"><a class="reference internal" href="variable_substitutions.html#predefined-bake-environment-variables">Predefined bake environment variables</a></li>
152
+ <li class="toctree-l2"><a class="reference internal" href="variable_substitutions.html#environment-variables">Environment variables</a></li>
151
153
  <li class="toctree-l2"><a class="reference internal" href="variable_substitutions.html#nested-variables">Nested variables</a></li>
152
- <li class="toctree-l2"><a class="reference internal" href="variable_substitutions.html#auto-adjustment-of-paths-to-existing-projects">Auto-adjustment of paths to existing projects</a></li>
154
+ <li class="toctree-l2"><a class="reference internal" href="variable_substitutions.html#complex-variables">Complex variables</a></li>
155
+ <li class="toctree-l2"><a class="reference internal" href="variable_substitutions.html#notes-and-warnings">Notes and warnings</a></li>
153
156
  </ul>
154
157
  </li>
155
158
  <li class="toctree-l1"><a class="reference internal" href="derive_configs.html">Derive configs</a><ul>
@@ -165,6 +168,7 @@
165
168
  <li class="toctree-l2"><a class="reference internal" href="adapt_configs.html#types">Types</a></li>
166
169
  </ul>
167
170
  </li>
171
+ <li class="toctree-l1"><a class="reference internal" href="auto_adjustment.html">Auto-adjustment of paths to existing projects</a></li>
168
172
  </ul>
169
173
  </div>
170
174
  </div>
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Variables in Project.meta &mdash; bake 2.19.2 documentation</title>
8
+ <title>Variables in Project.meta &mdash; bake documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.19.2',
18
+ VERSION: '',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.19.2 documentation" href="../index.html" />
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
33
  <link rel="up" title="Syntax" href="syntax.html" />
34
34
  <link rel="next" title="Derive configs" href="derive_configs.html" />
35
35
  <link rel="prev" title="The Syntax of the Project.meta file" href="project_meta_syntax.html" />
@@ -97,10 +97,13 @@
97
97
  role="menu"
98
98
  aria-labelledby="dLabelLocalToc"><ul>
99
99
  <li><a class="reference internal" href="#">Variables in Project.meta</a><ul>
100
+ <li><a class="reference internal" href="#using-variables">Using variables</a></li>
100
101
  <li><a class="reference internal" href="#user-defined-variables">User defined variables</a></li>
101
- <li><a class="reference internal" href="#pre-defined-bake-environment-variables">Pre defined bake environment variables</a></li>
102
+ <li><a class="reference internal" href="#predefined-bake-environment-variables">Predefined bake environment variables</a></li>
103
+ <li><a class="reference internal" href="#environment-variables">Environment variables</a></li>
102
104
  <li><a class="reference internal" href="#nested-variables">Nested variables</a></li>
103
- <li><a class="reference internal" href="#auto-adjustment-of-paths-to-existing-projects">Auto-adjustment of paths to existing projects</a></li>
105
+ <li><a class="reference internal" href="#complex-variables">Complex variables</a></li>
106
+ <li><a class="reference internal" href="#notes-and-warnings">Notes and warnings</a></li>
104
107
  </ul>
105
108
  </li>
106
109
  </ul>
@@ -146,16 +149,25 @@
146
149
 
147
150
  <div class="section" id="variables-in-project-meta">
148
151
  <h1>Variables in Project.meta<a class="headerlink" href="#variables-in-project-meta" title="Permalink to this headline">¶</a></h1>
149
- <p>bake allows you to use pre defined and/or user defined variables in your Project.meta file.
150
- Defined variables then can be used using the following syntax:</p>
151
- <div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span><span class="o">(</span>MyIncludes<span class="o">)</span>
152
+ <p>bake allows you to use</p>
153
+ <ul class="simple">
154
+ <li>user defined</li>
155
+ <li>predefined</li>
156
+ <li>environment</li>
157
+ </ul>
158
+ <p>variables in your Project.meta file (in this priority). If a variable is not found, it will be evaluated to an empty string.</p>
159
+ <div class="section" id="using-variables">
160
+ <h2>Using variables<a class="headerlink" href="#using-variables" title="Permalink to this headline">¶</a></h2>
161
+ <p>Variables can be used using the following syntax:</p>
162
+ <div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span><span class="o">(</span>ABC<span class="o">)</span>
152
163
  </pre></div>
153
164
  </div>
154
- <p>The variable MyIncludes will be substitued by its value, therefore a real life usage would look
165
+ <p>The variable ABC will be substituted by its value, therefore a real life usage would look
155
166
  something like this:</p>
156
- <div class="highlight-console"><div class="highlight"><pre><span class="go">IncludeDir &quot;$(MyIncludes)&quot;</span>
167
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">IncludeDir &quot;$(ABC)&quot;</span>
157
168
  </pre></div>
158
169
  </div>
170
+ </div>
159
171
  <div class="section" id="user-defined-variables">
160
172
  <h2>User defined variables<a class="headerlink" href="#user-defined-variables" title="Permalink to this headline">¶</a></h2>
161
173
  <p>There are two ways to create user defined variables.</p>
@@ -169,11 +181,13 @@ something like this:</p>
169
181
  <li>THe variable is defined directly in the Project.meta file.</li>
170
182
  </ol>
171
183
  <div class="highlight-console"><div class="highlight"><pre><span class="go">Set MyVar, value: &quot;Hello world!&quot;</span>
184
+ <span class="go">Set MyVar, cmd: &quot;ruby calcVar.rb&quot;</span>
172
185
  </pre></div>
173
186
  </div>
187
+ <p>In the latter one the variable is set to the output of the command.</p>
174
188
  </div>
175
- <div class="section" id="pre-defined-bake-environment-variables">
176
- <h2>Pre defined bake environment variables<a class="headerlink" href="#pre-defined-bake-environment-variables" title="Permalink to this headline">¶</a></h2>
189
+ <div class="section" id="predefined-bake-environment-variables">
190
+ <h2>Predefined bake environment variables<a class="headerlink" href="#predefined-bake-environment-variables" title="Permalink to this headline">¶</a></h2>
177
191
  <table border="1" class="docutils">
178
192
  <colgroup>
179
193
  <col width="31%" />
@@ -265,31 +279,47 @@ archiver</td>
265
279
  linker</td>
266
280
  <td>/usr/bin</td>
267
281
  </tr>
268
- <tr class="row-odd"><td><em>$(/)</em></td>
282
+ <tr class="row-odd"><td><em>$(ToolchainName)</em></td>
283
+ <td>Names of the used DefaultToolchain</td>
284
+ <td>GCC</td>
285
+ </tr>
286
+ <tr class="row-even"><td><em>$(/)</em></td>
269
287
  <td>Evalutes to the directory path seperator of
270
288
  the current platform</td>
271
289
  <td>Windows: \, Other: /</td>
272
290
  </tr>
273
- <tr class="row-even"><td><em>$(:)</em></td>
291
+ <tr class="row-odd"><td><em>$(:)</em></td>
274
292
  <td>Evaluates to the path variable seperator
275
293
  of the current platform</td>
276
294
  <td>Windows: ;, Other: :</td>
277
295
  </tr>
278
296
  </tbody>
279
297
  </table>
280
- <div class="admonition tip">
281
- <p class="first admonition-title">Tip</p>
282
- <p>It is also possible to retrieve arbitrary an <em>environment variable</em> using the following syntax:</p>
283
- <div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span><span class="o">(</span>EnvironmentVariable<span class="o">)</span>
298
+ </div>
299
+ <div class="section" id="environment-variables">
300
+ <h2>Environment variables<a class="headerlink" href="#environment-variables" title="Permalink to this headline">¶</a></h2>
301
+ <p>Usually used if system dependent stuff is needed like path to a specific tool etc.</p>
302
+ </div>
303
+ <div class="section" id="nested-variables">
304
+ <h2>Nested variables<a class="headerlink" href="#nested-variables" title="Permalink to this headline">¶</a></h2>
305
+ <p>It is also possible to nest variables.</p>
306
+ <p>Example:</p>
307
+ <div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span><span class="o">(</span>ABC<span class="k">$(</span>DEF<span class="k">)</span>GH<span class="o">)</span>
284
308
  </pre></div>
285
309
  </div>
286
- <p class="last">Evaluates to the Environment with the specified name, if the specified environment variable does not exists
287
- it will be substituted by an empty string.</p>
288
310
  </div>
289
- <div class="admonition note">
290
- <p class="first admonition-title">Note</p>
291
- <p>Equal variables in the main config</p>
292
- <table border="1" class="last docutils">
311
+ <div class="section" id="complex-variables">
312
+ <h2>Complex variables<a class="headerlink" href="#complex-variables" title="Permalink to this headline">¶</a></h2>
313
+ <p>bake supports one complex variable:</p>
314
+ <div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span><span class="o">(</span>OutputDir,<span class="k">$(</span>TheProject<span class="k">)</span>,<span class="k">$(</span>TheConfig<span class="k">)</span><span class="o">)</span>
315
+ </pre></div>
316
+ </div>
317
+ <p>This will evaluate to the output directory of a specific configuration.</p>
318
+ </div>
319
+ <div class="section" id="notes-and-warnings">
320
+ <h2>Notes and warnings<a class="headerlink" href="#notes-and-warnings" title="Permalink to this headline">¶</a></h2>
321
+ <p>Equal variables in the main config:</p>
322
+ <table border="1" class="docutils">
293
323
  <colgroup>
294
324
  <col width="50%" />
295
325
  <col width="50%" />
@@ -308,54 +338,11 @@ it will be substituted by an empty string.</p>
308
338
  </tr>
309
339
  </tbody>
310
340
  </table>
311
- </div>
312
341
  <div class="admonition warning">
313
342
  <p class="first admonition-title">Warning</p>
314
343
  <p class="last">Variables in Dependency definitions are not allowed!</p>
315
344
  </div>
316
345
  </div>
317
- <div class="section" id="nested-variables">
318
- <h2>Nested variables<a class="headerlink" href="#nested-variables" title="Permalink to this headline">¶</a></h2>
319
- <p>It is also possible to nest variables.</p>
320
- <p>Example:</p>
321
- <div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span><span class="o">(</span>OutputDir,<span class="k">$(</span>TheProject<span class="k">)</span>,<span class="k">$(</span>TheConfig<span class="k">)</span><span class="o">)</span>
322
- <span class="gp">$</span><span class="o">(</span>ABC<span class="k">$(</span>DEF<span class="k">)</span>GH<span class="o">)</span>
323
- </pre></div>
324
- </div>
325
- </div>
326
- <div class="section" id="auto-adjustment-of-paths-to-existing-projects">
327
- <h2>Auto-adjustment of paths to existing projects<a class="headerlink" href="#auto-adjustment-of-paths-to-existing-projects" title="Permalink to this headline">¶</a></h2>
328
- <div class="admonition warning">
329
- <p class="first admonition-title">Warning</p>
330
- <p>If paths to other projects are needed, e.g. to &#8220;bootloaderUpdater&#8221;, don&#8217;t write a hard coded relative path like this:</p>
331
- <div class="last highlight-text"><div class="highlight"><pre>CommandLine &quot;../bootloaderUpdater/tools/PrimaryBootloader2Include.exe
332
- </pre></div>
333
- </div>
334
- </div>
335
- <p>If paths to other projects are needed, e.g. to &#8220;bootloaderUpdater&#8221; just reference it starting from the project folder.</p>
336
- <p>Example:</p>
337
- <div class="highlight-text"><div class="highlight"><pre>CommandLine &quot;bootloaderUpdater/tools/PrimaryBootloader2Include.exe
338
- </pre></div>
339
- </div>
340
- <p>or:</p>
341
- <div class="highlight-text"><div class="highlight"><pre>IncludeDir &quot;myProjectName/bootloaderUpdater/whatever&quot;
342
- </pre></div>
343
- </div>
344
- <p>bake recognizes that the first part of the path is a valid project name and calculates the relative path to the project automatically.
345
- If you have the special case that the referenced project is contained in an other workspace root, you can use the
346
- <cite>-w</cite> parameter or you define a <cite>roots.bake</cite>.</p>
347
- <div class="admonition note">
348
- <p class="first admonition-title">Note</p>
349
- <p>The path auto adjustment is applied for the following elements:</p>
350
- <ul class="last simple">
351
- <li>IncludeDir</li>
352
- <li>ExternalLibrary</li>
353
- <li>ExternalLibrarySearchPath</li>
354
- <li>UserLibrary</li>
355
- <li>CommandLine</li>
356
- </ul>
357
- </div>
358
- </div>
359
346
  </div>
360
347
 
361
348
 
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Bundle projects &mdash; bake 2.19.2 documentation</title>
8
+ <title>Generating dot graphs &mdash; bake documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.19.2',
18
+ VERSION: '',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.19.2 documentation" href="../index.html" />
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
33
  <link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
34
34
  <link rel="next" title="Performance" href="../performance/performance.html" />
35
35
  <link rel="prev" title="Clang Analyze" href="the_clang.html" />
@@ -96,7 +96,7 @@
96
96
  <ul class="dropdown-menu localtoc"
97
97
  role="menu"
98
98
  aria-labelledby="dLabelLocalToc"><ul>
99
- <li><a class="reference internal" href="#">Bundle projects</a></li>
99
+ <li><a class="reference internal" href="#">Generating dot graphs</a></li>
100
100
  </ul>
101
101
  </ul>
102
102
  </li>
@@ -138,26 +138,32 @@
138
138
  <div class="row">
139
139
  <div class="col-md-12">
140
140
 
141
- <div class="section" id="bundle-projects">
142
- <h1>Bundle projects<a class="headerlink" href="#bundle-projects" title="Permalink to this headline">¶</a></h1>
143
- <div class="admonition warning">
144
- <p class="first admonition-title">Warning</p>
145
- <p class="last">This feature is experimental!</p>
141
+ <div class="section" id="generating-dot-graphs">
142
+ <h1>Generating dot graphs<a class="headerlink" href="#generating-dot-graphs" title="Permalink to this headline">¶</a></h1>
143
+ <p>In larger workspaces it&#8217;s often hard to understand the dependency structure. With bake you can generate a dot file (see <a class="reference external" href="http://www.graphviz.org">http://www.graphviz.org</a>):</p>
144
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bake ... --dot &lt;dot filename&gt;</span>
145
+ </pre></div>
146
146
  </div>
147
- <p>With</p>
148
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bake ... --bundle &lt;outputDir&gt;</span>
147
+ <p>The dot file is a text file with all dependencies included. It is easy to render an image, e.g. with</p>
148
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">tred &lt;dot filename&gt; | dot -Tpng -o &lt;png image filename&gt;</span>
149
149
  </pre></div>
150
150
  </div>
151
- <p>the projects will be bundled. This means</p>
151
+ <img alt="../_images/dot.png" src="../_images/dot.png" />
152
152
  <ul class="simple">
153
- <li>linked binaries are copied to &lt;outputDir&gt;/bin</li>
154
- <li>created libraries are copied to &lt;outputDir&gt;/lib</li>
155
- <li>sources from the main project are copied to &lt;outputDir&gt;</li>
156
- <li>includes needed by the main projects are copied to &lt;outputDir&gt;/inc</li>
157
- <li>A Project.meta will be created in &lt;outputDir&gt;.</li>
153
+ <li>Projects are rectangles</li>
154
+ <li>Configs are ellipses</li>
155
+ <li>CustomConfigs are red</li>
156
+ <li>ExecutableConfigs are green</li>
157
+ <li>LibraryConfigs are cyan</li>
158
158
  </ul>
159
- <p>This is a starting point for further manual adaptions.</p>
160
- <p>Feedback welcome!</p>
159
+ <p>It&#8217;s possible to generate only a part of the whole graph with -p (same as for building only a part of the code). e.g.:</p>
160
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bake ... --dot &lt;dot filename&gt; -p lib2</span>
161
+ <span class="go">bake ... --dot &lt;dot filename&gt; -p lib2,testa</span>
162
+ </pre></div>
163
+ </div>
164
+ <p>Which results in:</p>
165
+ <img alt="../_images/dotP.png" src="../_images/dotP.png" />
166
+ <img alt="../_images/dotPC.png" src="../_images/dotPC.png" />
161
167
  </div>
162
168
 
163
169
 
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>How to use bake with cygwin &mdash; bake 2.19.2 documentation</title>
8
+ <title>How to use bake with cygwin &mdash; bake documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.19.2',
18
+ VERSION: '',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.19.2 documentation" href="../index.html" />
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
33
  <link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
34
34
  <link rel="next" title="Clang Analyze" href="the_clang.html" />
35
35
  <link rel="prev" title="Static Code Analysis" href="static_code_analysis.html" />
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Static Code Analysis &mdash; bake 2.19.2 documentation</title>
8
+ <title>Static Code Analysis &mdash; bake documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.19.2',
18
+ VERSION: '',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.19.2 documentation" href="../index.html" />
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
33
  <link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
34
34
  <link rel="next" title="How to use bake with cygwin" href="how_to_use_bake_with_cygwin.html" />
35
35
  <link rel="prev" title="The Bakery" href="the_bakery.html" />
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>The Bakery &mdash; bake 2.19.2 documentation</title>
8
+ <title>The Bakery &mdash; bake documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.19.2',
18
+ VERSION: '',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,7 +29,7 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.19.2 documentation" href="../index.html" />
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
33
  <link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
34
34
  <link rel="next" title="Static Code Analysis" href="static_code_analysis.html" />
35
35
  <link rel="prev" title="Tips and Tricks" href="tips_and_tricks.html" />
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Clang Analyze &mdash; bake 2.19.2 documentation</title>
8
+ <title>Clang Analyze &mdash; bake documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../',
18
- VERSION: '2.19.2',
18
+ VERSION: '',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -29,9 +29,9 @@
29
29
  <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
30
  <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
31
  <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake 2.19.2 documentation" href="../index.html" />
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
33
  <link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
34
- <link rel="next" title="Bundle projects" href="bundle.html" />
34
+ <link rel="next" title="Performance" href="../performance/performance.html" />
35
35
  <link rel="prev" title="How to use bake with cygwin" href="how_to_use_bake_with_cygwin.html" />
36
36
  <meta charset='utf-8'>
37
37
  <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
@@ -110,7 +110,7 @@
110
110
  </a>
111
111
  </li>
112
112
  <li>
113
- <a href="bundle.html" title="Next Chapter: Bundle projects"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Bundle projects &raquo;</span>
113
+ <a href="../performance/performance.html" title="Next Chapter: Performance"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Performance &raquo;</span>
114
114
  </a>
115
115
  </li>
116
116