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.
- checksums.yaml +4 -4
- data/documentation/_build/html/_sources/changelog.txt +3 -0
- data/documentation/_build/html/_sources/index.txt +1 -1
- data/documentation/_build/html/_static/logo_tiny_48.png +0 -0
- data/documentation/_build/html/changelog.html +1154 -1149
- data/documentation/_build/html/commandline/commandline.html +285 -285
- data/documentation/_build/html/concepts/build_hierarchy.html +204 -204
- data/documentation/_build/html/concepts/concepts.html +196 -196
- data/documentation/_build/html/concepts/inject.html +216 -216
- data/documentation/_build/html/concepts/link_order.html +245 -245
- data/documentation/_build/html/concepts/prebuild.html +205 -205
- data/documentation/_build/html/concepts/the_main_project.html +260 -260
- data/documentation/_build/html/concepts/the_project_meta_file.html +288 -288
- data/documentation/_build/html/genindex.html +152 -152
- data/documentation/_build/html/ide/eclipse/eclipse.html +186 -186
- data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +208 -208
- data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +191 -191
- data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +198 -198
- data/documentation/_build/html/ide/eclipse/how_to_debug_in_eclipse.html +198 -198
- data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +196 -196
- data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +256 -256
- data/documentation/_build/html/ide/ide_integrations.html +185 -185
- data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +171 -171
- data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +185 -185
- data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +190 -190
- data/documentation/_build/html/ide/vs/vs.html +170 -170
- data/documentation/_build/html/ide/vs/vs_install.html +202 -202
- data/documentation/_build/html/index.html +246 -246
- data/documentation/_build/html/install/install_bake.html +279 -279
- data/documentation/_build/html/internal.html +217 -217
- data/documentation/_build/html/known_issues.html +173 -173
- data/documentation/_build/html/license.html +236 -236
- data/documentation/_build/html/performance/performance.html +373 -373
- data/documentation/_build/html/quickstart/quickstart.html +236 -236
- data/documentation/_build/html/search.html +174 -174
- data/documentation/_build/html/searchindex.js +1 -1
- data/documentation/_build/html/syntax/adapt_configs.html +370 -370
- data/documentation/_build/html/syntax/auto_adjustment.html +189 -189
- data/documentation/_build/html/syntax/derive_configs.html +247 -247
- data/documentation/_build/html/syntax/project_meta_syntax.html +923 -923
- data/documentation/_build/html/syntax/syntax.html +196 -196
- data/documentation/_build/html/syntax/variable_substitutions.html +365 -365
- data/documentation/_build/html/tips_and_tricks/bakeclean.html +169 -169
- data/documentation/_build/html/tips_and_tricks/dot.html +186 -186
- data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +214 -214
- data/documentation/_build/html/tips_and_tricks/qac.html +297 -297
- data/documentation/_build/html/tips_and_tricks/the_bakery.html +405 -405
- data/documentation/_build/html/tips_and_tricks/the_clang.html +201 -201
- data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +198 -198
- data/documentation/_build/html/why_bake/why_bake.html +241 -241
- data/lib/bake/config/checks.rb +76 -68
- data/lib/bake/model/metamodel.rb +6 -0
- data/lib/common/version.rb +1 -1
- metadata +3 -5
- data/documentation/_build/html/_sources/tips_and_tricks/static_code_analysis.txt +0 -122
- data/documentation/_build/html/_static/logo_conformant_48.png +0 -0
- 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 — 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/
|
|
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">« 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 »</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 "**/*.cpp"
|
|
173
|
-
IncludeDir "include"
|
|
174
|
-
DefaultToolchain GCC {
|
|
175
|
-
Compiler CPP {
|
|
176
|
-
Flags "-Wall"
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
PostSteps {
|
|
180
|
-
CommandLine "echo $(ArtifactName) built."
|
|
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 "**/*.cpp"
|
|
190
|
-
IncludeDir "include"
|
|
191
|
-
IncludeDir "Main/include"
|
|
192
|
-
ExternalLibrarySearchPath "lib"
|
|
193
|
-
ExternalLibrary "a"
|
|
194
|
-
ExternalLibrary "b"
|
|
195
|
-
Toolchain {
|
|
196
|
-
Compiler CPP {
|
|
197
|
-
Flags add: "-g3"
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
</pre></div>
|
|
203
|
-
</div>
|
|
204
|
-
</td>
|
|
205
|
-
</tr>
|
|
206
|
-
</tbody>
|
|
207
|
-
</table>
|
|
208
|
-
<p>Let’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
|
-
© 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 — 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">« 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 »</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 "**/*.cpp"
|
|
173
|
+
IncludeDir "include"
|
|
174
|
+
DefaultToolchain GCC {
|
|
175
|
+
Compiler CPP {
|
|
176
|
+
Flags "-Wall"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
PostSteps {
|
|
180
|
+
CommandLine "echo $(ArtifactName) built."
|
|
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 "**/*.cpp"
|
|
190
|
+
IncludeDir "include"
|
|
191
|
+
IncludeDir "Main/include"
|
|
192
|
+
ExternalLibrarySearchPath "lib"
|
|
193
|
+
ExternalLibrary "a"
|
|
194
|
+
ExternalLibrary "b"
|
|
195
|
+
Toolchain {
|
|
196
|
+
Compiler CPP {
|
|
197
|
+
Flags add: "-g3"
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
</pre></div>
|
|
203
|
+
</div>
|
|
204
|
+
</td>
|
|
205
|
+
</tr>
|
|
206
|
+
</tbody>
|
|
207
|
+
</table>
|
|
208
|
+
<p>Let’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
|
+
© 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>
|