bake-toolkit 2.19.0 → 2.19.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/_build/html/_sources/changelog.txt +3 -0
  3. data/documentation/_build/html/_sources/concepts/build_hierarchy.txt +34 -0
  4. data/documentation/_build/html/_sources/index.txt +1 -1
  5. data/documentation/_build/html/_static/basic.css +598 -598
  6. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.css +1109 -1109
  7. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.min.css +9 -9
  8. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap.css +6167 -6167
  9. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap.min.css +9 -9
  10. data/documentation/_build/html/_static/bootstrap-2.3.2/js/bootstrap.js +2287 -2287
  11. data/documentation/_build/html/_static/bootstrap-2.3.2/js/bootstrap.min.js +5 -5
  12. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.css +476 -476
  13. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.min.css +4 -4
  14. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.css +6584 -6584
  15. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.min.css +4 -4
  16. data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.svg +287 -287
  17. data/documentation/_build/html/_static/bootstrap-3.3.4/js/bootstrap.js +2317 -2317
  18. data/documentation/_build/html/_static/bootstrap-3.3.4/js/bootstrap.min.js +6 -6
  19. data/documentation/_build/html/_static/bootstrap-3.3.4/js/npm.js +12 -12
  20. data/documentation/_build/html/_static/bootstrap-sphinx.css +186 -186
  21. data/documentation/_build/html/_static/bootstrap-sphinx.js +161 -161
  22. data/documentation/_build/html/_static/bootswatch-2.3.2/amelia/bootstrap.min.css +9 -9
  23. data/documentation/_build/html/_static/bootswatch-2.3.2/cerulean/bootstrap.min.css +9 -9
  24. data/documentation/_build/html/_static/bootswatch-2.3.2/cosmo/bootstrap.min.css +9 -9
  25. data/documentation/_build/html/_static/bootswatch-2.3.2/cyborg/bootstrap.min.css +9 -9
  26. data/documentation/_build/html/_static/bootswatch-2.3.2/flatly/bootstrap.min.css +9 -9
  27. data/documentation/_build/html/_static/bootswatch-2.3.2/journal/bootstrap.min.css +9 -9
  28. data/documentation/_build/html/_static/bootswatch-2.3.2/readable/bootstrap.min.css +9 -9
  29. data/documentation/_build/html/_static/bootswatch-2.3.2/simplex/bootstrap.min.css +9 -9
  30. data/documentation/_build/html/_static/bootswatch-2.3.2/slate/bootstrap.min.css +9 -9
  31. data/documentation/_build/html/_static/bootswatch-2.3.2/spacelab/bootstrap.min.css +9 -9
  32. data/documentation/_build/html/_static/bootswatch-2.3.2/spruce/bootstrap.min.css +9 -9
  33. data/documentation/_build/html/_static/bootswatch-2.3.2/superhero/bootstrap.min.css +9 -9
  34. data/documentation/_build/html/_static/bootswatch-2.3.2/united/bootstrap.min.css +9 -9
  35. data/documentation/_build/html/_static/bootswatch-3.3.4/cerulean/bootstrap.min.css +6 -6
  36. data/documentation/_build/html/_static/bootswatch-3.3.4/cosmo/bootstrap.min.css +6 -6
  37. data/documentation/_build/html/_static/bootswatch-3.3.4/custom/bootstrap.min.css +6 -6
  38. data/documentation/_build/html/_static/bootswatch-3.3.4/cyborg/bootstrap.min.css +6 -6
  39. data/documentation/_build/html/_static/bootswatch-3.3.4/darkly/bootstrap.min.css +6 -6
  40. data/documentation/_build/html/_static/bootswatch-3.3.4/flatly/bootstrap.min.css +6 -6
  41. data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.svg +287 -287
  42. data/documentation/_build/html/_static/bootswatch-3.3.4/journal/bootstrap.min.css +6 -6
  43. data/documentation/_build/html/_static/bootswatch-3.3.4/lumen/bootstrap.min.css +6 -6
  44. data/documentation/_build/html/_static/bootswatch-3.3.4/paper/bootstrap.min.css +6 -6
  45. data/documentation/_build/html/_static/bootswatch-3.3.4/readable/bootstrap.min.css +6 -6
  46. data/documentation/_build/html/_static/bootswatch-3.3.4/sandstone/bootstrap.min.css +6 -6
  47. data/documentation/_build/html/_static/bootswatch-3.3.4/simplex/bootstrap.min.css +6 -6
  48. data/documentation/_build/html/_static/bootswatch-3.3.4/slate/bootstrap.min.css +6 -6
  49. data/documentation/_build/html/_static/bootswatch-3.3.4/spacelab/bootstrap.min.css +6 -6
  50. data/documentation/_build/html/_static/bootswatch-3.3.4/superhero/bootstrap.min.css +6 -6
  51. data/documentation/_build/html/_static/bootswatch-3.3.4/united/bootstrap.min.css +6 -6
  52. data/documentation/_build/html/_static/bootswatch-3.3.4/yeti/bootstrap.min.css +6 -6
  53. data/documentation/_build/html/_static/doctools.js +263 -263
  54. data/documentation/_build/html/_static/jquery-1.11.1.js +10308 -10308
  55. data/documentation/_build/html/_static/jquery.js +4 -4
  56. data/documentation/_build/html/_static/js/jquery-1.11.0.min.js +4 -4
  57. data/documentation/_build/html/_static/js/jquery-fix.js +1 -1
  58. data/documentation/_build/html/_static/searchtools.js +621 -621
  59. data/documentation/_build/html/_static/underscore-1.3.1.js +999 -999
  60. data/documentation/_build/html/_static/underscore.js +31 -31
  61. data/documentation/_build/html/_static/websupport.js +808 -808
  62. data/documentation/_build/html/changelog.html +949 -944
  63. data/documentation/_build/html/commandline/commandline.html +284 -284
  64. data/documentation/_build/html/concepts/build_hierarchy.html +205 -0
  65. data/documentation/_build/html/concepts/concepts.html +186 -186
  66. data/documentation/_build/html/concepts/link_order.html +245 -245
  67. data/documentation/_build/html/concepts/the_main_project.html +260 -260
  68. data/documentation/_build/html/concepts/the_project_meta_file.html +288 -288
  69. data/documentation/_build/html/genindex.html +152 -152
  70. data/documentation/_build/html/ide/eclipse/eclipse.html +186 -186
  71. data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +208 -208
  72. data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +191 -191
  73. data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +198 -198
  74. data/documentation/_build/html/ide/eclipse/how_to_debug_in_eclipse.html +198 -198
  75. data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +196 -196
  76. data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +256 -256
  77. data/documentation/_build/html/ide/ide_integrations.html +183 -183
  78. data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +171 -171
  79. data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +185 -185
  80. data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +190 -190
  81. data/documentation/_build/html/ide/vs/vs.html +170 -170
  82. data/documentation/_build/html/ide/vs/vs_install.html +202 -202
  83. data/documentation/_build/html/index.html +241 -241
  84. data/documentation/_build/html/install/install_bake.html +279 -279
  85. data/documentation/_build/html/internal.html +217 -217
  86. data/documentation/_build/html/known_issues.html +175 -175
  87. data/documentation/_build/html/license.html +236 -236
  88. data/documentation/_build/html/performance/performance.html +373 -373
  89. data/documentation/_build/html/quickstart/quickstart.html +236 -236
  90. data/documentation/_build/html/search.html +174 -174
  91. data/documentation/_build/html/searchindex.js +1 -1
  92. data/documentation/_build/html/syntax/adapt_configs.html +286 -286
  93. data/documentation/_build/html/syntax/derive_configs.html +247 -247
  94. data/documentation/_build/html/syntax/project_meta_syntax.html +893 -893
  95. data/documentation/_build/html/syntax/syntax.html +189 -189
  96. data/documentation/_build/html/syntax/variable_substitutions.html +378 -378
  97. data/documentation/_build/html/tips_and_tricks/bundle.html +180 -180
  98. data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +214 -214
  99. data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +284 -284
  100. data/documentation/_build/html/tips_and_tricks/the_bakery.html +405 -405
  101. data/documentation/_build/html/tips_and_tricks/the_clang.html +201 -201
  102. data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +197 -197
  103. data/documentation/_build/html/why_bake/why_bake.html +241 -241
  104. data/lib/blocks/block.rb +9 -4
  105. data/lib/common/version.rb +1 -1
  106. metadata +4 -2
@@ -1,261 +1,261 @@
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 main project &mdash; bake 2.19.0 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: '2.19.0',
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 2.19.0 documentation" href="../index.html" />
33
- <link rel="up" title="Concepts" href="concepts.html" />
34
- <link rel="next" title="The build hierarchy" href="build_hierarchy.html" />
35
- <link rel="prev" title="The Project.meta file" href="the_project_meta_file.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="#">The main project</a><ul>
100
- <li><a class="reference internal" href="#advantages">Advantages</a></li>
101
- <li><a class="reference internal" href="#example">Example</a></li>
102
- <li><a class="reference internal" href="#output-directory">Output directory</a></li>
103
- </ul>
104
- </li>
105
- </ul>
106
- </ul>
107
- </li>
108
-
109
-
110
-
111
-
112
-
113
- <li>
114
- <a href="the_project_meta_file.html" title="Previous Chapter: The Project.meta file"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; The Project.m...</span>
115
- </a>
116
- </li>
117
- <li>
118
- <a href="build_hierarchy.html" title="Next Chapter: The build hierarchy"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">The build hie... &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="the-main-project">
147
- <h1>The main project<a class="headerlink" href="#the-main-project" title="Permalink to this headline">¶</a></h1>
148
- <p>The concept of the main project is different to many other build systems like Eclipse CDT.
149
- In these build systems everything which is needed for a project is configured in the project itself.
150
- In bake the main project can predefine stuff for all subprojects.
151
- The main project can have a DefaultToolchain definition, which is valid for all projects and files referenced by the main project. Subprojects can overwrite or adjust these definitions.</p>
152
- <p>Projects are always built in context of the main project.</p>
153
- <p>To build a project, you have to specify</p>
154
- <blockquote>
155
- <div><ul class="simple">
156
- <li>the main project</li>
157
- <li>the config of the main project which references the project to build</li>
158
- <li>the (sub)project to build if applicable</li>
159
- </ul>
160
- </div></blockquote>
161
- <div class="section" id="advantages">
162
- <h2>Advantages<a class="headerlink" href="#advantages" title="Permalink to this headline">¶</a></h2>
163
- <p>Reducing the number of build configurations (toolchain settings like debug or release flags can be set outside of the project)
164
- Most projects do not have any compiler definitions anymore
165
- Only flags which must be used or flags which must not be used have to be specified in the projects
166
- Changing compiler definitions for all projects can be done easily in the main project build configuration</p>
167
- </div>
168
- <div class="section" id="example">
169
- <h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
170
- <table border="1" class="docutils">
171
- <colgroup>
172
- <col width="50%" />
173
- <col width="50%" />
174
- </colgroup>
175
- <thead valign="bottom">
176
- <tr class="row-odd"><th class="head">Project.meta of Main (Debug and Release)</th>
177
- <th class="head">Project.meta of Sub (only one build config!)</th>
178
- </tr>
179
- </thead>
180
- <tbody valign="top">
181
- <tr class="row-even"><td><div class="first last highlight-python"><div class="highlight"><pre>Project {
182
-
183
- ExecutableConfig Debug {
184
- Dependency Sub, config: Lib
185
- Files &quot;**/*.cpp&quot;
186
- IncludeDir &quot;include&quot;
187
- DefaultToolchain GCC {
188
- Compiler CPP {
189
- Flags &quot;... whatever -debug_info&quot;
190
- Define &quot;DEBUG&quot;
191
- }
192
- }
193
- }
194
-
195
- ExecutableConfig Release {
196
- Dependency Sub, config: Lib
197
- Files &quot;**/*.cpp&quot;
198
- IncludeDir &quot;include&quot;
199
- DefaultToolchain GCC {
200
- Compiler CPP {
201
- Flags &quot;... whatever -optimize&quot;
202
- Define &quot;NDEBUG&quot;
203
- }
204
- }
205
- }
206
- }
207
- </pre></div>
208
- </div>
209
- </td>
210
- <td><div class="first last highlight-python"><div class="highlight"><pre>Project {
211
-
212
- LibraryConfig Lib {
213
- Files &quot;**/*.cpp&quot;
214
- IncludeDir &quot;include&quot;
215
- }
216
-
217
- }
218
- </pre></div>
219
- </div>
220
- </td>
221
- </tr>
222
- </tbody>
223
- </table>
224
- <div class="admonition note">
225
- <p class="first admonition-title">Note</p>
226
- <p class="last">A main project must have a DefaultToolchain - but it&#8217;s allowed to leave that definition empty.</p>
227
- </div>
228
- </div>
229
- <div class="section" id="output-directory">
230
- <h2>Output directory<a class="headerlink" href="#output-directory" title="Permalink to this headline">¶</a></h2>
231
- <p>A project in a specific build configuration can be build in different contexts.
232
- That&#8217;s why the output directory of a project cannot be simply the build configuration name of the project to avoid inconsistencies.
233
- Therefore the output directory names are.</p>
234
- <blockquote>
235
- <div><ul class="simple">
236
- <li>Main project: $(MainConfigName) like in regular Eclipse CDT builds</li>
237
- <li>Subprojects: $(MainConfigName)_$(MainProjectName) instead of the config name of the subproject</li>
238
- </ul>
239
- </div></blockquote>
240
- </div>
241
- </div>
242
-
243
-
244
- </div>
245
-
246
- </div>
247
- </div>
248
- <footer class="footer">
249
- <div class="container">
250
- <p class="pull-right">
251
- <a href="#">Back to top</a>
252
-
253
- </p>
254
- <p>
255
- &copy; Copyright 2016, E.S.R.Labs AG.<br/>
256
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
257
- </p>
258
- </div>
259
- </footer>
260
- </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 main project &mdash; bake 2.19.1 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: '2.19.1',
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 2.19.1 documentation" href="../index.html" />
33
+ <link rel="up" title="Concepts" href="concepts.html" />
34
+ <link rel="next" title="The build hierarchy" href="build_hierarchy.html" />
35
+ <link rel="prev" title="The Project.meta file" href="the_project_meta_file.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="#">The main project</a><ul>
100
+ <li><a class="reference internal" href="#advantages">Advantages</a></li>
101
+ <li><a class="reference internal" href="#example">Example</a></li>
102
+ <li><a class="reference internal" href="#output-directory">Output directory</a></li>
103
+ </ul>
104
+ </li>
105
+ </ul>
106
+ </ul>
107
+ </li>
108
+
109
+
110
+
111
+
112
+
113
+ <li>
114
+ <a href="the_project_meta_file.html" title="Previous Chapter: The Project.meta file"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; The Project.m...</span>
115
+ </a>
116
+ </li>
117
+ <li>
118
+ <a href="build_hierarchy.html" title="Next Chapter: The build hierarchy"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">The build hie... &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="the-main-project">
147
+ <h1>The main project<a class="headerlink" href="#the-main-project" title="Permalink to this headline">¶</a></h1>
148
+ <p>The concept of the main project is different to many other build systems like Eclipse CDT.
149
+ In these build systems everything which is needed for a project is configured in the project itself.
150
+ In bake the main project can predefine stuff for all subprojects.
151
+ The main project can have a DefaultToolchain definition, which is valid for all projects and files referenced by the main project. Subprojects can overwrite or adjust these definitions.</p>
152
+ <p>Projects are always built in context of the main project.</p>
153
+ <p>To build a project, you have to specify</p>
154
+ <blockquote>
155
+ <div><ul class="simple">
156
+ <li>the main project</li>
157
+ <li>the config of the main project which references the project to build</li>
158
+ <li>the (sub)project to build if applicable</li>
159
+ </ul>
160
+ </div></blockquote>
161
+ <div class="section" id="advantages">
162
+ <h2>Advantages<a class="headerlink" href="#advantages" title="Permalink to this headline">¶</a></h2>
163
+ <p>Reducing the number of build configurations (toolchain settings like debug or release flags can be set outside of the project)
164
+ Most projects do not have any compiler definitions anymore
165
+ Only flags which must be used or flags which must not be used have to be specified in the projects
166
+ Changing compiler definitions for all projects can be done easily in the main project build configuration</p>
167
+ </div>
168
+ <div class="section" id="example">
169
+ <h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
170
+ <table border="1" class="docutils">
171
+ <colgroup>
172
+ <col width="50%" />
173
+ <col width="50%" />
174
+ </colgroup>
175
+ <thead valign="bottom">
176
+ <tr class="row-odd"><th class="head">Project.meta of Main (Debug and Release)</th>
177
+ <th class="head">Project.meta of Sub (only one build config!)</th>
178
+ </tr>
179
+ </thead>
180
+ <tbody valign="top">
181
+ <tr class="row-even"><td><div class="first last highlight-python"><div class="highlight"><pre>Project {
182
+
183
+ ExecutableConfig Debug {
184
+ Dependency Sub, config: Lib
185
+ Files &quot;**/*.cpp&quot;
186
+ IncludeDir &quot;include&quot;
187
+ DefaultToolchain GCC {
188
+ Compiler CPP {
189
+ Flags &quot;... whatever -debug_info&quot;
190
+ Define &quot;DEBUG&quot;
191
+ }
192
+ }
193
+ }
194
+
195
+ ExecutableConfig Release {
196
+ Dependency Sub, config: Lib
197
+ Files &quot;**/*.cpp&quot;
198
+ IncludeDir &quot;include&quot;
199
+ DefaultToolchain GCC {
200
+ Compiler CPP {
201
+ Flags &quot;... whatever -optimize&quot;
202
+ Define &quot;NDEBUG&quot;
203
+ }
204
+ }
205
+ }
206
+ }
207
+ </pre></div>
208
+ </div>
209
+ </td>
210
+ <td><div class="first last highlight-python"><div class="highlight"><pre>Project {
211
+
212
+ LibraryConfig Lib {
213
+ Files &quot;**/*.cpp&quot;
214
+ IncludeDir &quot;include&quot;
215
+ }
216
+
217
+ }
218
+ </pre></div>
219
+ </div>
220
+ </td>
221
+ </tr>
222
+ </tbody>
223
+ </table>
224
+ <div class="admonition note">
225
+ <p class="first admonition-title">Note</p>
226
+ <p class="last">A main project must have a DefaultToolchain - but it&#8217;s allowed to leave that definition empty.</p>
227
+ </div>
228
+ </div>
229
+ <div class="section" id="output-directory">
230
+ <h2>Output directory<a class="headerlink" href="#output-directory" title="Permalink to this headline">¶</a></h2>
231
+ <p>A project in a specific build configuration can be build in different contexts.
232
+ That&#8217;s why the output directory of a project cannot be simply the build configuration name of the project to avoid inconsistencies.
233
+ Therefore the output directory names are.</p>
234
+ <blockquote>
235
+ <div><ul class="simple">
236
+ <li>Main project: $(MainConfigName) like in regular Eclipse CDT builds</li>
237
+ <li>Subprojects: $(MainConfigName)_$(MainProjectName) instead of the config name of the subproject</li>
238
+ </ul>
239
+ </div></blockquote>
240
+ </div>
241
+ </div>
242
+
243
+
244
+ </div>
245
+
246
+ </div>
247
+ </div>
248
+ <footer class="footer">
249
+ <div class="container">
250
+ <p class="pull-right">
251
+ <a href="#">Back to top</a>
252
+
253
+ </p>
254
+ <p>
255
+ &copy; Copyright 2016, E.S.R.Labs AG.<br/>
256
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
257
+ </p>
258
+ </div>
259
+ </footer>
260
+ </body>
261
261
  </html>