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>Changelog &mdash; bake 2.19.2 documentation</title>
8
+ <title>Changelog &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="next" title="License" href="license.html" />
34
34
  <link rel="prev" title="Known Issues" href="known_issues.html" />
35
35
  <meta charset='utf-8'>
@@ -140,6 +140,20 @@
140
140
  <div class="section" id="changelog">
141
141
  <h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
142
142
  <dl class="docutils">
143
+ <dt>September 5, 2016 - bake-toolkit 2.20.1</dt>
144
+ <dd><ul class="first last simple">
145
+ <li>Added: inject feature for dependencies</li>
146
+ <li>Added: option to generate a dot graph file</li>
147
+ <li>Added: <em>prebuild</em> feature for distribution builds</li>
148
+ <li>Added: commandline option <em>&#8211;build_</em> to enable the old outputdir behaviour: <em>build_</em> instead of <em>build/</em></li>
149
+ <li>Added: printing out more information when loading Project.metas in verbosity level 3</li>
150
+ <li>Changed: circular dependency warning moved from verbosity level 1 to 3</li>
151
+ <li>Added: ToolchainName is now a predefined variable for Project.meta</li>
152
+ <li>Added: &#8211;compile-only option (which is equal to the workaround -f &#8221;.&#8221;)</li>
153
+ <li>Bugfix: &#8211;adapt commandline option accepts absolute paths now</li>
154
+ <li>Changed: removed the <em>bundle</em> feature</li>
155
+ </ul>
156
+ </dd>
143
157
  <dt>August 12, 2016 - bake-toolkit 2.19.2</dt>
144
158
  <dd><ul class="first last simple">
145
159
  <li>Bugfix: fixed TI linker error parser</li>
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>Commandline &mdash; bake 2.19.2 documentation</title>
8
+ <title>Commandline &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="next" title="IDE Support" href="../ide/ide_integrations.html" />
34
34
  <link rel="prev" title="Adapt configs" href="../syntax/adapt_configs.html" />
35
35
  <meta charset='utf-8'>
@@ -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 build hierarchy &mdash; bake 2.19.2 documentation</title>
8
+ <title>The build hierarchy &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="Concepts" href="concepts.html" />
34
34
  <link rel="next" title="The link order" href="link_order.html" />
35
35
  <link rel="prev" title="The main project" href="the_main_project.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>Concepts &mdash; bake 2.19.2 documentation</title>
8
+ <title>Concepts &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="next" title="The Project.meta file" href="the_project_meta_file.html" />
34
34
  <link rel="prev" title="Quickstart" href="../quickstart/quickstart.html" />
35
35
  <meta charset='utf-8'>
@@ -162,6 +162,16 @@
162
162
  <li class="toctree-l2"><a class="reference internal" href="link_order.html#same-example-but-with-external-libraries">Same example but with external libraries:</a></li>
163
163
  </ul>
164
164
  </li>
165
+ <li class="toctree-l1"><a class="reference internal" href="prebuild.html">Prebuild configurations for distributions</a><ul>
166
+ <li class="toctree-l2"><a class="reference internal" href="prebuild.html#typical-workflow">Typical workflow</a></li>
167
+ </ul>
168
+ </li>
169
+ <li class="toctree-l1"><a class="reference internal" href="inject.html">Injection and inheritance of IncludeDir and Dependency</a><ul>
170
+ <li class="toctree-l2"><a class="reference internal" href="inject.html#inherit-includedir">Inherit IncludeDir</a></li>
171
+ <li class="toctree-l2"><a class="reference internal" href="inject.html#inject-includedir">Inject IncludeDir</a></li>
172
+ <li class="toctree-l2"><a class="reference internal" href="inject.html#inject-dependency">Inject Dependency</a></li>
173
+ </ul>
174
+ </li>
165
175
  </ul>
166
176
  </div>
167
177
  </div>
@@ -0,0 +1,217 @@
1
+ <!DOCTYPE html>
2
+
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>Injection and inheritance of IncludeDir and Dependency &mdash; bake documentation</title>
9
+
10
+ <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
+ <link rel="stylesheet" href="../_static/bootswatch-3.3.4/sandstone/bootstrap.min.css" type="text/css" />
13
+ <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
14
+
15
+ <script type="text/javascript">
16
+ var DOCUMENTATION_OPTIONS = {
17
+ URL_ROOT: '../',
18
+ VERSION: '',
19
+ COLLAPSE_INDEX: false,
20
+ FILE_SUFFIX: '.html',
21
+ HAS_SOURCE: true
22
+ };
23
+ </script>
24
+ <script type="text/javascript" src="../_static/jquery.js"></script>
25
+ <script type="text/javascript" src="../_static/underscore.js"></script>
26
+ <script type="text/javascript" src="../_static/doctools.js"></script>
27
+ <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
28
+ <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
29
+ <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
+ <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
+ <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
+ <link rel="up" title="Concepts" href="concepts.html" />
34
+ <link rel="next" title="Syntax" href="../syntax/syntax.html" />
35
+ <link rel="prev" title="Prebuild configurations for distributions" href="prebuild.html" />
36
+ <meta charset='utf-8'>
37
+ <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
+ <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
+ <meta name="apple-mobile-web-app-capable" content="yes">
40
+
41
+ </head>
42
+ <body role="document">
43
+
44
+ <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
+ <div class="container">
46
+ <div class="navbar-header">
47
+ <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
+ <span class="icon-bar"></span>
50
+ <span class="icon-bar"></span>
51
+ <span class="icon-bar"></span>
52
+ </button>
53
+ <a class="navbar-brand" href="../index.html"><img src="../_static/logo_conformant_48.png">
54
+ </a>
55
+ <span class="navbar-text navbar-version pull-left"><b></b></span>
56
+ </div>
57
+
58
+ <div class="collapse navbar-collapse nav-collapse">
59
+ <ul class="nav navbar-nav">
60
+
61
+
62
+ <li class="dropdown globaltoc-container">
63
+ <a role="button"
64
+ id="dLabelGlobalToc"
65
+ data-toggle="dropdown"
66
+ data-target="#"
67
+ href="../index.html">Section <b class="caret"></b></a>
68
+ <ul class="dropdown-menu globaltoc"
69
+ role="menu"
70
+ aria-labelledby="dLabelGlobalToc"><ul class="current">
71
+ <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
+ <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
+ <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
+ <li class="toctree-l1 current"><a class="reference internal" href="concepts.html">Concepts</a></li>
75
+ <li class="toctree-l1"><a class="reference internal" href="../syntax/syntax.html">Syntax</a></li>
76
+ <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
+ <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
+ <li class="toctree-l1"><a class="reference internal" href="../tips_and_tricks/tips_and_tricks.html">Tips and Tricks</a></li>
79
+ <li class="toctree-l1"><a class="reference internal" href="../performance/performance.html">Performance</a></li>
80
+ <li class="toctree-l1"><a class="reference internal" href="../known_issues.html">Known Issues</a></li>
81
+ <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
82
+ <li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
83
+ </ul>
84
+ <ul>
85
+ <li class="toctree-l1"><a class="reference internal" href="../internal.html">Internal developing notes</a></li>
86
+ </ul>
87
+ </ul>
88
+ </li>
89
+
90
+ <li class="dropdown">
91
+ <a role="button"
92
+ id="dLabelLocalToc"
93
+ data-toggle="dropdown"
94
+ data-target="#"
95
+ href="#">SubSections <b class="caret"></b></a>
96
+ <ul class="dropdown-menu localtoc"
97
+ role="menu"
98
+ aria-labelledby="dLabelLocalToc"><ul>
99
+ <li><a class="reference internal" href="#">Injection and inheritance of IncludeDir and Dependency</a><ul>
100
+ <li><a class="reference internal" href="#inherit-includedir">Inherit IncludeDir</a></li>
101
+ <li><a class="reference internal" href="#inject-includedir">Inject IncludeDir</a></li>
102
+ <li><a class="reference internal" href="#inject-dependency">Inject Dependency</a></li>
103
+ </ul>
104
+ </li>
105
+ </ul>
106
+ </ul>
107
+ </li>
108
+
109
+
110
+
111
+
112
+
113
+ <li>
114
+ <a href="prebuild.html" title="Previous Chapter: Prebuild configurations for distributions"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Prebuild conf...</span>
115
+ </a>
116
+ </li>
117
+ <li>
118
+ <a href="../syntax/syntax.html" title="Next Chapter: Syntax"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Syntax &raquo;</span>
119
+ </a>
120
+ </li>
121
+
122
+
123
+
124
+
125
+
126
+ </ul>
127
+
128
+
129
+
130
+ <form class="navbar-form navbar-right" action="../search.html" method="get">
131
+ <div class="form-group">
132
+ <input type="text" name="q" class="form-control" placeholder="Search" />
133
+ </div>
134
+ <input type="hidden" name="check_keywords" value="yes" />
135
+ <input type="hidden" name="area" value="default" />
136
+ </form>
137
+
138
+ </div>
139
+ </div>
140
+ </div>
141
+
142
+ <div class="container">
143
+ <div class="row">
144
+ <div class="col-md-12">
145
+
146
+ <div class="section" id="injection-and-inheritance-of-includedir-and-dependency">
147
+ <h1>Injection and inheritance of IncludeDir and Dependency<a class="headerlink" href="#injection-and-inheritance-of-includedir-and-dependency" title="Permalink to this headline">¶</a></h1>
148
+ <p>It is possible to inject and inherit &#8220;includes&#8221; and inject &#8220;dependencies&#8221;.</p>
149
+ <div class="section" id="inherit-includedir">
150
+ <h2>Inherit IncludeDir<a class="headerlink" href="#inherit-includedir" title="Permalink to this headline">¶</a></h2>
151
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">IncludeDir include, inherit: true</span>
152
+ </pre></div>
153
+ </div>
154
+ <p>This is typically used to make include directories available to upper levels, e.g.:</p>
155
+ <div class="highlight-console"><div class="highlight"><pre><span class="gp">#</span> in MyLib/Project.meta
156
+ <span class="go">LibraryConfig Lib {</span>
157
+ <span class="go"> ...</span>
158
+ <span class="go"> IncludeDir include, inherit: true</span>
159
+ <span class="go">}</span>
160
+
161
+ <span class="gp">#</span> in main/Project.meta
162
+ <span class="go">ExecutableConfig Debug {</span>
163
+ <span class="go"> ...</span>
164
+ <span class="go"> Dependency MyLib, config: Lib</span>
165
+ <span class="go"> # IncludeDir &quot;MyLib/include&quot; - not needed because this IncludeDir is inherited</span>
166
+ <span class="go">}</span>
167
+ </pre></div>
168
+ </div>
169
+ </div>
170
+ <div class="section" id="inject-includedir">
171
+ <h2>Inject IncludeDir<a class="headerlink" href="#inject-includedir" title="Permalink to this headline">¶</a></h2>
172
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">IncludeDir &quot;mock/include&quot;, inject: front</span>
173
+ </pre></div>
174
+ </div>
175
+ <p>&#8220;front&#8221; is used for mocking IncludeDirs, e.g. if a library shall include a mocked class instead of the original one in UnitTest context.</p>
176
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">IncludeDir include, inject: back</span>
177
+ </pre></div>
178
+ </div>
179
+ <p>&#8220;back&#8221; is used if the lower levels do not know by themselves what to include. So this has to be configured from the outside, typically in the main project.</p>
180
+ </div>
181
+ <div class="section" id="inject-dependency">
182
+ <h2>Inject Dependency<a class="headerlink" href="#inject-dependency" title="Permalink to this headline">¶</a></h2>
183
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">Dependency MyLib, inject: front # or back</span>
184
+ </pre></div>
185
+ </div>
186
+ <p>This is used if a component cannot have this dependency hard coded, because it shall not know the concrete implementation or the dependency is only used for unittesting.</p>
187
+ <p>Example:</p>
188
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">ExecutableConfig UnitTest {</span>
189
+ <span class="go"> ...</span>
190
+ <span class="go"> Dependency config: Lib</span>
191
+ <span class="go"> Dependency googleTest, inject: front</span>
192
+ <span class="go">}</span>
193
+ </pre></div>
194
+ </div>
195
+ <p>In this example the config Lib depends on googleTest. If googleTest inherits an IncludeDir, this would be known by Lib.</p>
196
+ </div>
197
+ </div>
198
+
199
+
200
+ </div>
201
+
202
+ </div>
203
+ </div>
204
+ <footer class="footer">
205
+ <div class="container">
206
+ <p class="pull-right">
207
+ <a href="#">Back to top</a>
208
+
209
+ </p>
210
+ <p>
211
+ &copy; Copyright 2016, E.S.R.Labs AG.<br/>
212
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
213
+ </p>
214
+ </div>
215
+ </footer>
216
+ </body>
217
+ </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 link order &mdash; bake 2.19.2 documentation</title>
8
+ <title>The link order &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="Concepts" href="concepts.html" />
34
34
  <link rel="next" title="Syntax" href="../syntax/syntax.html" />
35
35
  <link rel="prev" title="The build hierarchy" href="build_hierarchy.html" />
@@ -0,0 +1,205 @@
1
+ <!DOCTYPE html>
2
+
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>Prebuild configurations for distributions &mdash; bake documentation</title>
9
+
10
+ <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
+ <link rel="stylesheet" href="../_static/bootswatch-3.3.4/sandstone/bootstrap.min.css" type="text/css" />
13
+ <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
14
+
15
+ <script type="text/javascript">
16
+ var DOCUMENTATION_OPTIONS = {
17
+ URL_ROOT: '../',
18
+ VERSION: '',
19
+ COLLAPSE_INDEX: false,
20
+ FILE_SUFFIX: '.html',
21
+ HAS_SOURCE: true
22
+ };
23
+ </script>
24
+ <script type="text/javascript" src="../_static/jquery.js"></script>
25
+ <script type="text/javascript" src="../_static/underscore.js"></script>
26
+ <script type="text/javascript" src="../_static/doctools.js"></script>
27
+ <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
28
+ <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
29
+ <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
+ <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
+ <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
+ <link rel="up" title="Concepts" href="concepts.html" />
34
+ <link rel="next" title="Injection and inheritance" href="inject.html" />
35
+ <link rel="prev" title="The link order" href="link_order.html" />
36
+ <meta charset='utf-8'>
37
+ <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
+ <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
+ <meta name="apple-mobile-web-app-capable" content="yes">
40
+
41
+ </head>
42
+ <body role="document">
43
+
44
+ <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
+ <div class="container">
46
+ <div class="navbar-header">
47
+ <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
+ <span class="icon-bar"></span>
50
+ <span class="icon-bar"></span>
51
+ <span class="icon-bar"></span>
52
+ </button>
53
+ <a class="navbar-brand" href="../index.html"><img src="../_static/logo_conformant_48.png">
54
+ </a>
55
+ <span class="navbar-text navbar-version pull-left"><b></b></span>
56
+ </div>
57
+
58
+ <div class="collapse navbar-collapse nav-collapse">
59
+ <ul class="nav navbar-nav">
60
+
61
+
62
+ <li class="dropdown globaltoc-container">
63
+ <a role="button"
64
+ id="dLabelGlobalToc"
65
+ data-toggle="dropdown"
66
+ data-target="#"
67
+ href="../index.html">Section <b class="caret"></b></a>
68
+ <ul class="dropdown-menu globaltoc"
69
+ role="menu"
70
+ aria-labelledby="dLabelGlobalToc"><ul class="current">
71
+ <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
+ <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
+ <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
+ <li class="toctree-l1 current"><a class="reference internal" href="concepts.html">Concepts</a></li>
75
+ <li class="toctree-l1"><a class="reference internal" href="../syntax/syntax.html">Syntax</a></li>
76
+ <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
+ <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
+ <li class="toctree-l1"><a class="reference internal" href="../tips_and_tricks/tips_and_tricks.html">Tips and Tricks</a></li>
79
+ <li class="toctree-l1"><a class="reference internal" href="../performance/performance.html">Performance</a></li>
80
+ <li class="toctree-l1"><a class="reference internal" href="../known_issues.html">Known Issues</a></li>
81
+ <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
82
+ <li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
83
+ </ul>
84
+ <ul>
85
+ <li class="toctree-l1"><a class="reference internal" href="../internal.html">Internal developing notes</a></li>
86
+ </ul>
87
+ </ul>
88
+ </li>
89
+
90
+ <li class="dropdown">
91
+ <a role="button"
92
+ id="dLabelLocalToc"
93
+ data-toggle="dropdown"
94
+ data-target="#"
95
+ href="#">SubSections <b class="caret"></b></a>
96
+ <ul class="dropdown-menu localtoc"
97
+ role="menu"
98
+ aria-labelledby="dLabelLocalToc"><ul>
99
+ <li><a class="reference internal" href="#">Prebuild configurations for distributions</a><ul>
100
+ <li><a class="reference internal" href="#typical-workflow">Typical workflow</a></li>
101
+ </ul>
102
+ </li>
103
+ </ul>
104
+ </ul>
105
+ </li>
106
+
107
+
108
+
109
+
110
+
111
+ <li>
112
+ <a href="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>
113
+ </a>
114
+ </li>
115
+ <li>
116
+ <a href="inject.html" title="Next Chapter: Injection and inheritance"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Injection and... &raquo;</span>
117
+ </a>
118
+ </li>
119
+
120
+
121
+
122
+
123
+
124
+ </ul>
125
+
126
+
127
+
128
+ <form class="navbar-form navbar-right" action="../search.html" method="get">
129
+ <div class="form-group">
130
+ <input type="text" name="q" class="form-control" placeholder="Search" />
131
+ </div>
132
+ <input type="hidden" name="check_keywords" value="yes" />
133
+ <input type="hidden" name="area" value="default" />
134
+ </form>
135
+
136
+ </div>
137
+ </div>
138
+ </div>
139
+
140
+ <div class="container">
141
+ <div class="row">
142
+ <div class="col-md-12">
143
+
144
+ <div class="section" id="prebuild-configurations-for-distributions">
145
+ <h1>Prebuild configurations for distributions<a class="headerlink" href="#prebuild-configurations-for-distributions" title="Permalink to this headline">¶</a></h1>
146
+ <p>This is a useful feature if you want to make a part of workspace available for third party without changing the configuration.</p>
147
+ <p>There are two major use cases:</p>
148
+ <ul class="simple">
149
+ <li>Only a few projects shall be closed source (e.g. to hide some algorithms)</li>
150
+ <li>Only a few projects shall be open source (e.g. if a supplier has integrate a library)</li>
151
+ </ul>
152
+ <p>Both is possible with bake, but the current UI is optimized for the latter one.</p>
153
+ <p>Add in the Project.meta the following code:</p>
154
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">Prebuild {</span>
155
+ <span class="go"> Except main, config: Debug</span>
156
+ <span class="go"> Except newLib, config: Debug</span>
157
+ <span class="go"> Except setup, config: Release</span>
158
+ <span class="go">}</span>
159
+ </pre></div>
160
+ </div>
161
+ <p>It is possible to specify the Prebuild tags in all configurations, not only in the main configuration. Logically they will be merged.</p>
162
+ <p>In the example above, no configurations will be built - except those three. The prebuild output is used directly.</p>
163
+ <p>To reference a configuration of the same project, omit the project name, e.g.:</p>
164
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">Except config: Base</span>
165
+ </pre></div>
166
+ </div>
167
+ <p>To reference all configuration of a project, omit the config name, e.g.:</p>
168
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">Except newLib</span>
169
+ </pre></div>
170
+ </div>
171
+ <p>This prebuild behaviour must be explicitly turned on by using the following the command line argument:</p>
172
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">--prebuild</span>
173
+ </pre></div>
174
+ </div>
175
+ <div class="section" id="typical-workflow">
176
+ <h2>Typical workflow<a class="headerlink" href="#typical-workflow" title="Permalink to this headline">¶</a></h2>
177
+ <ol class="arabic simple">
178
+ <li>Compiling the workspace completely without prebuild feature.</li>
179
+ <li>Executing a distribution script which copies all relevant files to a distribution directory.
180
+ Make sure to add all header files of prebuild libraries if they are needed for other non-prebuild libraries.
181
+ You may use the dependency files in the output directory for that script.</li>
182
+ <li>In the distribution folder use &#8220;&#8211;prebuild&#8221; when compiling the workspace.</li>
183
+ </ol>
184
+ </div>
185
+ </div>
186
+
187
+
188
+ </div>
189
+
190
+ </div>
191
+ </div>
192
+ <footer class="footer">
193
+ <div class="container">
194
+ <p class="pull-right">
195
+ <a href="#">Back to top</a>
196
+
197
+ </p>
198
+ <p>
199
+ &copy; Copyright 2016, E.S.R.Labs AG.<br/>
200
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
201
+ </p>
202
+ </div>
203
+ </footer>
204
+ </body>
205
+ </html>