bake-toolkit 2.28.0 → 2.28.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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/_build/html/_sources/changelog.txt +3 -0
  3. data/documentation/_build/html/_sources/index.txt +1 -1
  4. data/documentation/_build/html/_static/logo_tiny_48.png +0 -0
  5. data/documentation/_build/html/changelog.html +1154 -1149
  6. data/documentation/_build/html/commandline/commandline.html +285 -285
  7. data/documentation/_build/html/concepts/build_hierarchy.html +204 -204
  8. data/documentation/_build/html/concepts/concepts.html +196 -196
  9. data/documentation/_build/html/concepts/inject.html +216 -216
  10. data/documentation/_build/html/concepts/link_order.html +245 -245
  11. data/documentation/_build/html/concepts/prebuild.html +205 -205
  12. data/documentation/_build/html/concepts/the_main_project.html +260 -260
  13. data/documentation/_build/html/concepts/the_project_meta_file.html +288 -288
  14. data/documentation/_build/html/genindex.html +152 -152
  15. data/documentation/_build/html/ide/eclipse/eclipse.html +186 -186
  16. data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +208 -208
  17. data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +191 -191
  18. data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +198 -198
  19. data/documentation/_build/html/ide/eclipse/how_to_debug_in_eclipse.html +198 -198
  20. data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +196 -196
  21. data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +256 -256
  22. data/documentation/_build/html/ide/ide_integrations.html +185 -185
  23. data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +171 -171
  24. data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +185 -185
  25. data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +190 -190
  26. data/documentation/_build/html/ide/vs/vs.html +170 -170
  27. data/documentation/_build/html/ide/vs/vs_install.html +202 -202
  28. data/documentation/_build/html/index.html +246 -246
  29. data/documentation/_build/html/install/install_bake.html +279 -279
  30. data/documentation/_build/html/internal.html +217 -217
  31. data/documentation/_build/html/known_issues.html +173 -173
  32. data/documentation/_build/html/license.html +236 -236
  33. data/documentation/_build/html/performance/performance.html +373 -373
  34. data/documentation/_build/html/quickstart/quickstart.html +236 -236
  35. data/documentation/_build/html/search.html +174 -174
  36. data/documentation/_build/html/searchindex.js +1 -1
  37. data/documentation/_build/html/syntax/adapt_configs.html +370 -370
  38. data/documentation/_build/html/syntax/auto_adjustment.html +189 -189
  39. data/documentation/_build/html/syntax/derive_configs.html +247 -247
  40. data/documentation/_build/html/syntax/project_meta_syntax.html +923 -923
  41. data/documentation/_build/html/syntax/syntax.html +196 -196
  42. data/documentation/_build/html/syntax/variable_substitutions.html +365 -365
  43. data/documentation/_build/html/tips_and_tricks/bakeclean.html +169 -169
  44. data/documentation/_build/html/tips_and_tricks/dot.html +186 -186
  45. data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +214 -214
  46. data/documentation/_build/html/tips_and_tricks/qac.html +297 -297
  47. data/documentation/_build/html/tips_and_tricks/the_bakery.html +405 -405
  48. data/documentation/_build/html/tips_and_tricks/the_clang.html +201 -201
  49. data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +198 -198
  50. data/documentation/_build/html/why_bake/why_bake.html +241 -241
  51. data/lib/bake/config/checks.rb +76 -68
  52. data/lib/bake/model/metamodel.rb +6 -0
  53. data/lib/common/version.rb +1 -1
  54. metadata +3 -5
  55. data/documentation/_build/html/_sources/tips_and_tricks/static_code_analysis.txt +0 -122
  56. data/documentation/_build/html/_static/logo_conformant_48.png +0 -0
  57. data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +0 -285
@@ -1,289 +1,289 @@
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>The Project.meta file &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="The main project" href="the_main_project.html" />
35
- <link rel="prev" title="Concepts" href="concepts.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">Additional features</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="#">The Project.meta file</a><ul>
100
- <li><a class="reference internal" href="#what-is-the-project-meta-file">What is the Project.meta file</a></li>
101
- <li><a class="reference internal" href="#example">Example</a></li>
102
- </ul>
103
- </li>
104
- </ul>
105
- </ul>
106
- </li>
107
-
108
-
109
-
110
-
111
-
112
- <li>
113
- <a href="concepts.html" title="Previous Chapter: Concepts"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Concepts</span>
114
- </a>
115
- </li>
116
- <li>
117
- <a href="the_main_project.html" title="Next Chapter: The main project"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">The main project &raquo;</span>
118
- </a>
119
- </li>
120
-
121
-
122
-
123
-
124
-
125
- </ul>
126
-
127
-
128
-
129
- <form class="navbar-form navbar-right" action="../search.html" method="get">
130
- <div class="form-group">
131
- <input type="text" name="q" class="form-control" placeholder="Search" />
132
- </div>
133
- <input type="hidden" name="check_keywords" value="yes" />
134
- <input type="hidden" name="area" value="default" />
135
- </form>
136
-
137
- </div>
138
- </div>
139
- </div>
140
-
141
- <div class="container">
142
- <div class="row">
143
- <div class="col-md-12">
144
-
145
- <div class="section" id="the-project-meta-file">
146
- <h1>The Project.meta file<a class="headerlink" href="#the-project-meta-file" title="Permalink to this headline">¶</a></h1>
147
- <div class="section" id="what-is-the-project-meta-file">
148
- <h2>What is the Project.meta file<a class="headerlink" href="#what-is-the-project-meta-file" title="Permalink to this headline">¶</a></h2>
149
- <p>The <cite>Project.meta</cite> file is bakes configuration file.</p>
150
- <ul class="simple">
151
- <li>Every project has a Project.meta file in the project root directory.</li>
152
- <li>A Project.meta file contains one or more build configurations.</li>
153
- <li>A build configuration consists of toolchain settings, files to build, custom steps, etc.</li>
154
- </ul>
155
- </div>
156
- <div class="section" id="example">
157
- <h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
158
- <table border="1" class="docutils">
159
- <colgroup>
160
- <col width="50%" />
161
- <col width="50%" />
162
- </colgroup>
163
- <thead valign="bottom">
164
- <tr class="row-odd"><th class="head">Project.meta file of Main project</th>
165
- <th class="head">Project.meta file of Sub project</th>
166
- </tr>
167
- </thead>
168
- <tbody valign="top">
169
- <tr class="row-even"><td><div class="first last highlight-python"><div class="highlight"><pre>Project {
170
- ExecutableConfig Debug {
171
- Dependency Sub, config: Debug
172
- Files &quot;**/*.cpp&quot;
173
- IncludeDir &quot;include&quot;
174
- DefaultToolchain GCC {
175
- Compiler CPP {
176
- Flags &quot;-Wall&quot;
177
- }
178
- }
179
- PostSteps {
180
- CommandLine &quot;echo $(ArtifactName) built.&quot;
181
- }
182
- }
183
- }
184
- </pre></div>
185
- </div>
186
- </td>
187
- <td><div class="first last highlight-python"><div class="highlight"><pre>Project {
188
- LibraryConfig Debug {
189
- Files &quot;**/*.cpp&quot;
190
- IncludeDir &quot;include&quot;
191
- IncludeDir &quot;Main/include&quot;
192
- ExternalLibrarySearchPath &quot;lib&quot;
193
- ExternalLibrary &quot;a&quot;
194
- ExternalLibrary &quot;b&quot;
195
- Toolchain {
196
- Compiler CPP {
197
- Flags add: &quot;-g3&quot;
198
- }
199
- }
200
- }
201
- }
202
- </pre></div>
203
- </div>
204
- </td>
205
- </tr>
206
- </tbody>
207
- </table>
208
- <p>Let&#8217;s assume that Main and Sub are located in the same workspace root.
209
- To build the executable, bake can be called from the Main directory.</p>
210
- <blockquote>
211
- <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~/my_project$</span> bake -b Debug
212
- </pre></div>
213
- </div>
214
- </div></blockquote>
215
- <p>What happens now?</p>
216
- <blockquote>
217
- <div><ol class="arabic">
218
- <li><p class="first">Reading Project.meta of Main</p>
219
- </li>
220
- <li><p class="first">Reading Project.meta of dependencies (Sub)</p>
221
- </li>
222
- <li><dl class="first docutils">
223
- <dt>Compiling sources of Sub, e.g.:</dt>
224
- <dd><div class="first highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -c -Wall -g3 -Iinclude -I../Main/include -o Debug_Main/src/xy.o src/xy.cpp
225
- </pre></div>
226
- </div>
227
- <ul class="last simple">
228
- <li>Wall is taken from the DefaultToolchain and -g3 is added by the toolchain of the Sub project.</li>
229
- <li>The include path to Main is automatically adjusted.</li>
230
- <li>The order of includes is the same as in Project.meta.</li>
231
- <li>g++, -c and -I are used, because GCC was specified in the DefaultToolchain.</li>
232
- </ul>
233
- </dd>
234
- </dl>
235
- </li>
236
- <li><p class="first">Archiving the library, e.g.:</p>
237
- <blockquote>
238
- <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> ar -rc Debug_Main/libSub.a Debug_Main/src/xy.o
239
- </pre></div>
240
- </div>
241
- </div></blockquote>
242
- </li>
243
- <li><p class="first">Compiling sources of Main, e.g.:</p>
244
- <blockquote>
245
- <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -c -Wall -Iinclude -o Debug/src/main.o src/main.cpp
246
- </pre></div>
247
- </div>
248
- </div></blockquote>
249
- </li>
250
- <li><p class="first">Linking executable, e.g.:</p>
251
- <blockquote>
252
- <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -o Debug/Main.exe Debug/src/main.o ../Sub/Debug_Main/libSub.a -L../Sub/lib -la -lb
253
- </pre></div>
254
- </div>
255
- <p>The library search paths and libraries are added in the specified order.</p>
256
- </div></blockquote>
257
- </li>
258
- <li><p class="first">Executing the post step</p>
259
- <blockquote>
260
- <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> <span class="nb">echo </span>Main.exe built.
261
- </pre></div>
262
- </div>
263
- <p>The variable was automatically substituted.</p>
264
- </div></blockquote>
265
- </li>
266
- </ol>
267
- </div></blockquote>
268
- </div>
269
- </div>
270
-
271
-
272
- </div>
273
-
274
- </div>
275
- </div>
276
- <footer class="footer">
277
- <div class="container">
278
- <p class="pull-right">
279
- <a href="#">Back to top</a>
280
-
281
- </p>
282
- <p>
283
- &copy; Copyright 2016, E.S.R.Labs AG.<br/>
284
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
285
- </p>
286
- </div>
287
- </footer>
288
- </body>
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>The Project.meta file &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="The main project" href="the_main_project.html" />
35
+ <link rel="prev" title="Concepts" href="concepts.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_tiny_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">Additional features</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="#">The Project.meta file</a><ul>
100
+ <li><a class="reference internal" href="#what-is-the-project-meta-file">What is the Project.meta file</a></li>
101
+ <li><a class="reference internal" href="#example">Example</a></li>
102
+ </ul>
103
+ </li>
104
+ </ul>
105
+ </ul>
106
+ </li>
107
+
108
+
109
+
110
+
111
+
112
+ <li>
113
+ <a href="concepts.html" title="Previous Chapter: Concepts"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Concepts</span>
114
+ </a>
115
+ </li>
116
+ <li>
117
+ <a href="the_main_project.html" title="Next Chapter: The main project"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">The main project &raquo;</span>
118
+ </a>
119
+ </li>
120
+
121
+
122
+
123
+
124
+
125
+ </ul>
126
+
127
+
128
+
129
+ <form class="navbar-form navbar-right" action="../search.html" method="get">
130
+ <div class="form-group">
131
+ <input type="text" name="q" class="form-control" placeholder="Search" />
132
+ </div>
133
+ <input type="hidden" name="check_keywords" value="yes" />
134
+ <input type="hidden" name="area" value="default" />
135
+ </form>
136
+
137
+ </div>
138
+ </div>
139
+ </div>
140
+
141
+ <div class="container">
142
+ <div class="row">
143
+ <div class="col-md-12">
144
+
145
+ <div class="section" id="the-project-meta-file">
146
+ <h1>The Project.meta file<a class="headerlink" href="#the-project-meta-file" title="Permalink to this headline">¶</a></h1>
147
+ <div class="section" id="what-is-the-project-meta-file">
148
+ <h2>What is the Project.meta file<a class="headerlink" href="#what-is-the-project-meta-file" title="Permalink to this headline">¶</a></h2>
149
+ <p>The <cite>Project.meta</cite> file is bakes configuration file.</p>
150
+ <ul class="simple">
151
+ <li>Every project has a Project.meta file in the project root directory.</li>
152
+ <li>A Project.meta file contains one or more build configurations.</li>
153
+ <li>A build configuration consists of toolchain settings, files to build, custom steps, etc.</li>
154
+ </ul>
155
+ </div>
156
+ <div class="section" id="example">
157
+ <h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
158
+ <table border="1" class="docutils">
159
+ <colgroup>
160
+ <col width="50%" />
161
+ <col width="50%" />
162
+ </colgroup>
163
+ <thead valign="bottom">
164
+ <tr class="row-odd"><th class="head">Project.meta file of Main project</th>
165
+ <th class="head">Project.meta file of Sub project</th>
166
+ </tr>
167
+ </thead>
168
+ <tbody valign="top">
169
+ <tr class="row-even"><td><div class="first last highlight-python"><div class="highlight"><pre>Project {
170
+ ExecutableConfig Debug {
171
+ Dependency Sub, config: Debug
172
+ Files &quot;**/*.cpp&quot;
173
+ IncludeDir &quot;include&quot;
174
+ DefaultToolchain GCC {
175
+ Compiler CPP {
176
+ Flags &quot;-Wall&quot;
177
+ }
178
+ }
179
+ PostSteps {
180
+ CommandLine &quot;echo $(ArtifactName) built.&quot;
181
+ }
182
+ }
183
+ }
184
+ </pre></div>
185
+ </div>
186
+ </td>
187
+ <td><div class="first last highlight-python"><div class="highlight"><pre>Project {
188
+ LibraryConfig Debug {
189
+ Files &quot;**/*.cpp&quot;
190
+ IncludeDir &quot;include&quot;
191
+ IncludeDir &quot;Main/include&quot;
192
+ ExternalLibrarySearchPath &quot;lib&quot;
193
+ ExternalLibrary &quot;a&quot;
194
+ ExternalLibrary &quot;b&quot;
195
+ Toolchain {
196
+ Compiler CPP {
197
+ Flags add: &quot;-g3&quot;
198
+ }
199
+ }
200
+ }
201
+ }
202
+ </pre></div>
203
+ </div>
204
+ </td>
205
+ </tr>
206
+ </tbody>
207
+ </table>
208
+ <p>Let&#8217;s assume that Main and Sub are located in the same workspace root.
209
+ To build the executable, bake can be called from the Main directory.</p>
210
+ <blockquote>
211
+ <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~/my_project$</span> bake -b Debug
212
+ </pre></div>
213
+ </div>
214
+ </div></blockquote>
215
+ <p>What happens now?</p>
216
+ <blockquote>
217
+ <div><ol class="arabic">
218
+ <li><p class="first">Reading Project.meta of Main</p>
219
+ </li>
220
+ <li><p class="first">Reading Project.meta of dependencies (Sub)</p>
221
+ </li>
222
+ <li><dl class="first docutils">
223
+ <dt>Compiling sources of Sub, e.g.:</dt>
224
+ <dd><div class="first highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -c -Wall -g3 -Iinclude -I../Main/include -o Debug_Main/src/xy.o src/xy.cpp
225
+ </pre></div>
226
+ </div>
227
+ <ul class="last simple">
228
+ <li>Wall is taken from the DefaultToolchain and -g3 is added by the toolchain of the Sub project.</li>
229
+ <li>The include path to Main is automatically adjusted.</li>
230
+ <li>The order of includes is the same as in Project.meta.</li>
231
+ <li>g++, -c and -I are used, because GCC was specified in the DefaultToolchain.</li>
232
+ </ul>
233
+ </dd>
234
+ </dl>
235
+ </li>
236
+ <li><p class="first">Archiving the library, e.g.:</p>
237
+ <blockquote>
238
+ <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> ar -rc Debug_Main/libSub.a Debug_Main/src/xy.o
239
+ </pre></div>
240
+ </div>
241
+ </div></blockquote>
242
+ </li>
243
+ <li><p class="first">Compiling sources of Main, e.g.:</p>
244
+ <blockquote>
245
+ <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -c -Wall -Iinclude -o Debug/src/main.o src/main.cpp
246
+ </pre></div>
247
+ </div>
248
+ </div></blockquote>
249
+ </li>
250
+ <li><p class="first">Linking executable, e.g.:</p>
251
+ <blockquote>
252
+ <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -o Debug/Main.exe Debug/src/main.o ../Sub/Debug_Main/libSub.a -L../Sub/lib -la -lb
253
+ </pre></div>
254
+ </div>
255
+ <p>The library search paths and libraries are added in the specified order.</p>
256
+ </div></blockquote>
257
+ </li>
258
+ <li><p class="first">Executing the post step</p>
259
+ <blockquote>
260
+ <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> <span class="nb">echo </span>Main.exe built.
261
+ </pre></div>
262
+ </div>
263
+ <p>The variable was automatically substituted.</p>
264
+ </div></blockquote>
265
+ </li>
266
+ </ol>
267
+ </div></blockquote>
268
+ </div>
269
+ </div>
270
+
271
+
272
+ </div>
273
+
274
+ </div>
275
+ </div>
276
+ <footer class="footer">
277
+ <div class="container">
278
+ <p class="pull-right">
279
+ <a href="#">Back to top</a>
280
+
281
+ </p>
282
+ <p>
283
+ &copy; Copyright 2016, E.S.R.Labs AG.<br/>
284
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
285
+ </p>
286
+ </div>
287
+ </footer>
288
+ </body>
289
289
  </html>