bake-toolkit 2.18.0 → 2.19.0

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 (147) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/_build/html/_sources/changelog.txt +5 -0
  3. data/documentation/_build/html/_sources/index.txt +1 -1
  4. data/documentation/_build/html/_sources/quickstart/quickstart.txt +5 -5
  5. data/documentation/_build/html/_sources/syntax/variable_substitutions.txt +15 -15
  6. data/documentation/_build/html/_sources/tips_and_tricks/how_to_use_bake_with_cygwin.txt +20 -7
  7. data/documentation/_build/html/_static/basic.css +598 -598
  8. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.css +1109 -1109
  9. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.min.css +9 -9
  10. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap.css +6167 -6167
  11. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap.min.css +9 -9
  12. data/documentation/_build/html/_static/bootstrap-2.3.2/js/bootstrap.js +2287 -2287
  13. data/documentation/_build/html/_static/bootstrap-2.3.2/js/bootstrap.min.js +5 -5
  14. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.css +476 -476
  15. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.min.css +4 -4
  16. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.css +6584 -6584
  17. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.min.css +4 -4
  18. data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.svg +287 -287
  19. data/documentation/_build/html/_static/bootstrap-3.3.4/js/bootstrap.js +2317 -2317
  20. data/documentation/_build/html/_static/bootstrap-3.3.4/js/bootstrap.min.js +6 -6
  21. data/documentation/_build/html/_static/bootstrap-3.3.4/js/npm.js +12 -12
  22. data/documentation/_build/html/_static/bootstrap-sphinx.css +186 -186
  23. data/documentation/_build/html/_static/bootstrap-sphinx.js +161 -161
  24. data/documentation/_build/html/_static/bootswatch-2.3.2/amelia/bootstrap.min.css +9 -9
  25. data/documentation/_build/html/_static/bootswatch-2.3.2/cerulean/bootstrap.min.css +9 -9
  26. data/documentation/_build/html/_static/bootswatch-2.3.2/cosmo/bootstrap.min.css +9 -9
  27. data/documentation/_build/html/_static/bootswatch-2.3.2/cyborg/bootstrap.min.css +9 -9
  28. data/documentation/_build/html/_static/bootswatch-2.3.2/flatly/bootstrap.min.css +9 -9
  29. data/documentation/_build/html/_static/bootswatch-2.3.2/journal/bootstrap.min.css +9 -9
  30. data/documentation/_build/html/_static/bootswatch-2.3.2/readable/bootstrap.min.css +9 -9
  31. data/documentation/_build/html/_static/bootswatch-2.3.2/simplex/bootstrap.min.css +9 -9
  32. data/documentation/_build/html/_static/bootswatch-2.3.2/slate/bootstrap.min.css +9 -9
  33. data/documentation/_build/html/_static/bootswatch-2.3.2/spacelab/bootstrap.min.css +9 -9
  34. data/documentation/_build/html/_static/bootswatch-2.3.2/spruce/bootstrap.min.css +9 -9
  35. data/documentation/_build/html/_static/bootswatch-2.3.2/superhero/bootstrap.min.css +9 -9
  36. data/documentation/_build/html/_static/bootswatch-2.3.2/united/bootstrap.min.css +9 -9
  37. data/documentation/_build/html/_static/bootswatch-3.3.4/cerulean/bootstrap.min.css +6 -6
  38. data/documentation/_build/html/_static/bootswatch-3.3.4/cosmo/bootstrap.min.css +6 -6
  39. data/documentation/_build/html/_static/bootswatch-3.3.4/custom/bootstrap.min.css +6 -6
  40. data/documentation/_build/html/_static/bootswatch-3.3.4/cyborg/bootstrap.min.css +6 -6
  41. data/documentation/_build/html/_static/bootswatch-3.3.4/darkly/bootstrap.min.css +6 -6
  42. data/documentation/_build/html/_static/bootswatch-3.3.4/flatly/bootstrap.min.css +6 -6
  43. data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.svg +287 -287
  44. data/documentation/_build/html/_static/bootswatch-3.3.4/journal/bootstrap.min.css +6 -6
  45. data/documentation/_build/html/_static/bootswatch-3.3.4/lumen/bootstrap.min.css +6 -6
  46. data/documentation/_build/html/_static/bootswatch-3.3.4/paper/bootstrap.min.css +6 -6
  47. data/documentation/_build/html/_static/bootswatch-3.3.4/readable/bootstrap.min.css +6 -6
  48. data/documentation/_build/html/_static/bootswatch-3.3.4/sandstone/bootstrap.min.css +6 -6
  49. data/documentation/_build/html/_static/bootswatch-3.3.4/simplex/bootstrap.min.css +6 -6
  50. data/documentation/_build/html/_static/bootswatch-3.3.4/slate/bootstrap.min.css +6 -6
  51. data/documentation/_build/html/_static/bootswatch-3.3.4/spacelab/bootstrap.min.css +6 -6
  52. data/documentation/_build/html/_static/bootswatch-3.3.4/superhero/bootstrap.min.css +6 -6
  53. data/documentation/_build/html/_static/bootswatch-3.3.4/united/bootstrap.min.css +6 -6
  54. data/documentation/_build/html/_static/bootswatch-3.3.4/yeti/bootstrap.min.css +6 -6
  55. data/documentation/_build/html/_static/doctools.js +263 -263
  56. data/documentation/_build/html/_static/jquery-1.11.1.js +10308 -10308
  57. data/documentation/_build/html/_static/jquery.js +4 -4
  58. data/documentation/_build/html/_static/js/jquery-1.11.0.min.js +4 -4
  59. data/documentation/_build/html/_static/js/jquery-fix.js +1 -1
  60. data/documentation/_build/html/_static/searchtools.js +621 -621
  61. data/documentation/_build/html/_static/underscore-1.3.1.js +999 -999
  62. data/documentation/_build/html/_static/underscore.js +31 -31
  63. data/documentation/_build/html/_static/websupport.js +808 -808
  64. data/documentation/_build/html/changelog.html +944 -937
  65. data/documentation/_build/html/commandline/commandline.html +284 -284
  66. data/documentation/_build/html/concepts/concepts.html +186 -186
  67. data/documentation/_build/html/concepts/link_order.html +245 -245
  68. data/documentation/_build/html/concepts/the_main_project.html +260 -260
  69. data/documentation/_build/html/concepts/the_project_meta_file.html +288 -288
  70. data/documentation/_build/html/genindex.html +152 -152
  71. data/documentation/_build/html/ide/eclipse/eclipse.html +186 -186
  72. data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +208 -208
  73. data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +191 -191
  74. data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +198 -198
  75. data/documentation/_build/html/ide/eclipse/how_to_debug_in_eclipse.html +198 -198
  76. data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +196 -196
  77. data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +256 -256
  78. data/documentation/_build/html/ide/ide_integrations.html +183 -183
  79. data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +171 -171
  80. data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +185 -185
  81. data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +190 -190
  82. data/documentation/_build/html/ide/vs/vs.html +170 -170
  83. data/documentation/_build/html/ide/vs/vs_install.html +202 -202
  84. data/documentation/_build/html/index.html +241 -241
  85. data/documentation/_build/html/install/install_bake.html +279 -279
  86. data/documentation/_build/html/internal.html +217 -217
  87. data/documentation/_build/html/known_issues.html +175 -175
  88. data/documentation/_build/html/license.html +236 -236
  89. data/documentation/_build/html/performance/performance.html +373 -373
  90. data/documentation/_build/html/quickstart/quickstart.html +236 -236
  91. data/documentation/_build/html/search.html +174 -174
  92. data/documentation/_build/html/searchindex.js +1 -1
  93. data/documentation/_build/html/syntax/adapt_configs.html +286 -286
  94. data/documentation/_build/html/syntax/derive_configs.html +247 -247
  95. data/documentation/_build/html/syntax/project_meta_syntax.html +893 -893
  96. data/documentation/_build/html/syntax/syntax.html +189 -189
  97. data/documentation/_build/html/syntax/variable_substitutions.html +378 -378
  98. data/documentation/_build/html/tips_and_tricks/bundle.html +180 -180
  99. data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +214 -203
  100. data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +284 -284
  101. data/documentation/_build/html/tips_and_tricks/the_bakery.html +405 -405
  102. data/documentation/_build/html/tips_and_tricks/the_clang.html +201 -201
  103. data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +197 -197
  104. data/documentation/_build/html/why_bake/why_bake.html +241 -241
  105. data/lib/bake/subst.rb +40 -40
  106. data/lib/bake/toolchain/diab.rb +53 -53
  107. data/lib/bake/toolchain/gcc.rb +48 -48
  108. data/lib/bake/toolchain/gcc_env.rb +52 -52
  109. data/lib/bake/toolchain/msvc.rb +57 -57
  110. data/lib/blocks/block.rb +78 -63
  111. data/lib/blocks/blockBase.rb +33 -33
  112. data/lib/common/version.rb +2 -2
  113. metadata +4 -38
  114. data/documentation/_build/html/_images/logo_conformant_1024.png +0 -0
  115. data/documentation/_build/html/_images/logo_conformant_48.png +0 -0
  116. data/documentation/_build/html/_sources/concepts/build_hierarchy.txt +0 -34
  117. data/documentation/_build/html/_static/agogo.css +0 -509
  118. data/documentation/_build/html/_static/background_b01.png +0 -0
  119. data/documentation/_build/html/_static/bgfooter.png +0 -0
  120. data/documentation/_build/html/_static/bgtop.png +0 -0
  121. data/documentation/_build/html/_static/bizstyle.css +0 -490
  122. data/documentation/_build/html/_static/bizstyle.js +0 -41
  123. data/documentation/_build/html/_static/css/badge_only.css +0 -2
  124. data/documentation/_build/html/_static/css/theme.css +0 -5
  125. data/documentation/_build/html/_static/css3-mediaqueries.js +0 -1
  126. data/documentation/_build/html/_static/css3-mediaqueries_src.js +0 -1104
  127. data/documentation/_build/html/_static/debugEclipse/app.png +0 -0
  128. data/documentation/_build/html/_static/debugEclipse/debug.png +0 -0
  129. data/documentation/_build/html/_static/debugEclipse/flag.png +0 -0
  130. data/documentation/_build/html/_static/debugEclipse/map.png +0 -0
  131. data/documentation/_build/html/_static/debugEclipse/path.png +0 -0
  132. data/documentation/_build/html/_static/fonts/Inconsolata-Bold.ttf +0 -0
  133. data/documentation/_build/html/_static/fonts/Inconsolata.ttf +0 -0
  134. data/documentation/_build/html/_static/fonts/Lato-Bold.ttf +0 -0
  135. data/documentation/_build/html/_static/fonts/Lato-Regular.ttf +0 -0
  136. data/documentation/_build/html/_static/fonts/RobotoSlab-Bold.ttf +0 -0
  137. data/documentation/_build/html/_static/fonts/RobotoSlab-Regular.ttf +0 -0
  138. data/documentation/_build/html/_static/fonts/fontawesome-webfont.eot +0 -0
  139. data/documentation/_build/html/_static/fonts/fontawesome-webfont.svg +0 -414
  140. data/documentation/_build/html/_static/fonts/fontawesome-webfont.ttf +0 -0
  141. data/documentation/_build/html/_static/fonts/fontawesome-webfont.woff +0 -0
  142. data/documentation/_build/html/_static/js/modernizr.min.js +0 -4
  143. data/documentation/_build/html/_static/js/theme.js +0 -113
  144. data/documentation/_build/html/_static/logo_conformant_1024.png +0 -0
  145. data/documentation/_build/html/_static/logo_conformant_24.png +0 -0
  146. data/documentation/_build/html/_static/logo_conformant_256.png +0 -0
  147. data/documentation/_build/html/concepts/build_hierarchy.html +0 -205
@@ -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.18.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.18.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.18.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.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>
261
261
  </html>