bake-toolkit 2.28.0 → 2.28.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/_build/html/_sources/changelog.txt +3 -0
  3. data/documentation/_build/html/_sources/index.txt +1 -1
  4. data/documentation/_build/html/_static/logo_tiny_48.png +0 -0
  5. data/documentation/_build/html/changelog.html +1154 -1149
  6. data/documentation/_build/html/commandline/commandline.html +285 -285
  7. data/documentation/_build/html/concepts/build_hierarchy.html +204 -204
  8. data/documentation/_build/html/concepts/concepts.html +196 -196
  9. data/documentation/_build/html/concepts/inject.html +216 -216
  10. data/documentation/_build/html/concepts/link_order.html +245 -245
  11. data/documentation/_build/html/concepts/prebuild.html +205 -205
  12. data/documentation/_build/html/concepts/the_main_project.html +260 -260
  13. data/documentation/_build/html/concepts/the_project_meta_file.html +288 -288
  14. data/documentation/_build/html/genindex.html +152 -152
  15. data/documentation/_build/html/ide/eclipse/eclipse.html +186 -186
  16. data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +208 -208
  17. data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +191 -191
  18. data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +198 -198
  19. data/documentation/_build/html/ide/eclipse/how_to_debug_in_eclipse.html +198 -198
  20. data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +196 -196
  21. data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +256 -256
  22. data/documentation/_build/html/ide/ide_integrations.html +185 -185
  23. data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +171 -171
  24. data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +185 -185
  25. data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +190 -190
  26. data/documentation/_build/html/ide/vs/vs.html +170 -170
  27. data/documentation/_build/html/ide/vs/vs_install.html +202 -202
  28. data/documentation/_build/html/index.html +246 -246
  29. data/documentation/_build/html/install/install_bake.html +279 -279
  30. data/documentation/_build/html/internal.html +217 -217
  31. data/documentation/_build/html/known_issues.html +173 -173
  32. data/documentation/_build/html/license.html +236 -236
  33. data/documentation/_build/html/performance/performance.html +373 -373
  34. data/documentation/_build/html/quickstart/quickstart.html +236 -236
  35. data/documentation/_build/html/search.html +174 -174
  36. data/documentation/_build/html/searchindex.js +1 -1
  37. data/documentation/_build/html/syntax/adapt_configs.html +370 -370
  38. data/documentation/_build/html/syntax/auto_adjustment.html +189 -189
  39. data/documentation/_build/html/syntax/derive_configs.html +247 -247
  40. data/documentation/_build/html/syntax/project_meta_syntax.html +923 -923
  41. data/documentation/_build/html/syntax/syntax.html +196 -196
  42. data/documentation/_build/html/syntax/variable_substitutions.html +365 -365
  43. data/documentation/_build/html/tips_and_tricks/bakeclean.html +169 -169
  44. data/documentation/_build/html/tips_and_tricks/dot.html +186 -186
  45. data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +214 -214
  46. data/documentation/_build/html/tips_and_tricks/qac.html +297 -297
  47. data/documentation/_build/html/tips_and_tricks/the_bakery.html +405 -405
  48. data/documentation/_build/html/tips_and_tricks/the_clang.html +201 -201
  49. data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +198 -198
  50. data/documentation/_build/html/why_bake/why_bake.html +241 -241
  51. data/lib/bake/config/checks.rb +76 -68
  52. data/lib/bake/model/metamodel.rb +6 -0
  53. data/lib/common/version.rb +1 -1
  54. metadata +3 -5
  55. data/documentation/_build/html/_sources/tips_and_tricks/static_code_analysis.txt +0 -122
  56. data/documentation/_build/html/_static/logo_conformant_48.png +0 -0
  57. data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +0 -285
@@ -1,206 +1,206 @@
1
- <!DOCTYPE html>
2
-
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
-
8
- <title>Prebuild configurations for distributions &mdash; bake documentation</title>
9
-
10
- <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
- <link rel="stylesheet" href="../_static/bootswatch-3.3.4/sandstone/bootstrap.min.css" type="text/css" />
13
- <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
14
-
15
- <script type="text/javascript">
16
- var DOCUMENTATION_OPTIONS = {
17
- URL_ROOT: '../',
18
- VERSION: '',
19
- COLLAPSE_INDEX: false,
20
- FILE_SUFFIX: '.html',
21
- HAS_SOURCE: true
22
- };
23
- </script>
24
- <script type="text/javascript" src="../_static/jquery.js"></script>
25
- <script type="text/javascript" src="../_static/underscore.js"></script>
26
- <script type="text/javascript" src="../_static/doctools.js"></script>
27
- <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
28
- <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
29
- <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
- <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
- <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake documentation" href="../index.html" />
33
- <link rel="up" title="Concepts" href="concepts.html" />
34
- <link rel="next" title="Injection and inheritance of IncludeDir and Dependency" href="inject.html" />
35
- <link rel="prev" title="The link order" href="link_order.html" />
36
- <meta charset='utf-8'>
37
- <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
- <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
- <meta name="apple-mobile-web-app-capable" content="yes">
40
-
41
- </head>
42
- <body role="document">
43
-
44
- <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
- <div class="container">
46
- <div class="navbar-header">
47
- <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
- <span class="icon-bar"></span>
50
- <span class="icon-bar"></span>
51
- <span class="icon-bar"></span>
52
- </button>
53
- <a class="navbar-brand" href="../index.html"><img src="../_static/logo_conformant_48.png">
54
- </a>
55
- <span class="navbar-text navbar-version pull-left"><b></b></span>
56
- </div>
57
-
58
- <div class="collapse navbar-collapse nav-collapse">
59
- <ul class="nav navbar-nav">
60
-
61
-
62
- <li class="dropdown globaltoc-container">
63
- <a role="button"
64
- id="dLabelGlobalToc"
65
- data-toggle="dropdown"
66
- data-target="#"
67
- href="../index.html">Section <b class="caret"></b></a>
68
- <ul class="dropdown-menu globaltoc"
69
- role="menu"
70
- aria-labelledby="dLabelGlobalToc"><ul class="current">
71
- <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
- <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
- <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
- <li class="toctree-l1 current"><a class="reference internal" href="concepts.html">Concepts</a></li>
75
- <li class="toctree-l1"><a class="reference internal" href="../syntax/syntax.html">Syntax</a></li>
76
- <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
- <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
- <li class="toctree-l1"><a class="reference internal" href="../tips_and_tricks/tips_and_tricks.html">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="#">Prebuild configurations for distributions</a><ul>
100
- <li><a class="reference internal" href="#typical-workflow">Typical workflow</a></li>
101
- </ul>
102
- </li>
103
- </ul>
104
- </ul>
105
- </li>
106
-
107
-
108
-
109
-
110
-
111
- <li>
112
- <a href="link_order.html" title="Previous Chapter: The link order"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; The link order</span>
113
- </a>
114
- </li>
115
- <li>
116
- <a href="inject.html" title="Next Chapter: Injection and inheritance of IncludeDir and Dependency"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Injection and... &raquo;</span>
117
- </a>
118
- </li>
119
-
120
-
121
-
122
-
123
-
124
- </ul>
125
-
126
-
127
-
128
- <form class="navbar-form navbar-right" action="../search.html" method="get">
129
- <div class="form-group">
130
- <input type="text" name="q" class="form-control" placeholder="Search" />
131
- </div>
132
- <input type="hidden" name="check_keywords" value="yes" />
133
- <input type="hidden" name="area" value="default" />
134
- </form>
135
-
136
- </div>
137
- </div>
138
- </div>
139
-
140
- <div class="container">
141
- <div class="row">
142
- <div class="col-md-12">
143
-
144
- <div class="section" id="prebuild-configurations-for-distributions">
145
- <h1>Prebuild configurations for distributions<a class="headerlink" href="#prebuild-configurations-for-distributions" title="Permalink to this headline">¶</a></h1>
146
- <p>This is a useful feature if you want to make a part of workspace available for third party without changing the configuration.</p>
147
- <p>There are two major use cases:</p>
148
- <ul class="simple">
149
- <li>Only a few projects shall be closed source (e.g. to hide some algorithms)</li>
150
- <li>Only a few projects shall be open source (e.g. if a supplier has integrate a library)</li>
151
- </ul>
152
- <p>Both is possible with bake, but the current UI is optimized for the latter one.</p>
153
- <p>Add in the Project.meta the following code:</p>
154
- <div class="highlight-console"><div class="highlight"><pre><span class="go">Prebuild {</span>
155
- <span class="go"> Except main, config: Debug</span>
156
- <span class="go"> Except newLib, config: Debug</span>
157
- <span class="go"> Except setup, config: Release</span>
158
- <span class="go">}</span>
159
- </pre></div>
160
- </div>
161
- <p>It is possible to specify the Prebuild tags in all configurations, not only in the main configuration. Logically they will be merged.</p>
162
- <p>In the example above, no configurations will be built - except those three. The prebuild output is used directly.</p>
163
- <p>To reference a configuration of the same project, omit the project name, e.g.:</p>
164
- <div class="highlight-console"><div class="highlight"><pre><span class="go">Except config: Base</span>
165
- </pre></div>
166
- </div>
167
- <p>To reference all configuration of a project, omit the config name, e.g.:</p>
168
- <div class="highlight-console"><div class="highlight"><pre><span class="go">Except newLib</span>
169
- </pre></div>
170
- </div>
171
- <p>This prebuild behaviour must be explicitly turned on by using the following the command line argument:</p>
172
- <div class="highlight-console"><div class="highlight"><pre><span class="go">--prebuild</span>
173
- </pre></div>
174
- </div>
175
- <p>Note, that if objects files exist, the library will be built from existing object files (glob for *.o in appropriate build folder). If only the archive exists, the archive will be used without building it.</p>
176
- <div class="section" id="typical-workflow">
177
- <h2>Typical workflow<a class="headerlink" href="#typical-workflow" title="Permalink to this headline">¶</a></h2>
178
- <ol class="arabic simple">
179
- <li>Compiling the workspace completely without prebuild feature.</li>
180
- <li>Executing a distribution script which copies all relevant files to a distribution directory.
181
- Make sure to add all header files of prebuild libraries if they are needed for other non-prebuild libraries.
182
- You may use the dependency files in the output directory for that script.</li>
183
- <li>In the distribution folder use &#8220;&#8211;prebuild&#8221; when compiling the workspace.</li>
184
- </ol>
185
- </div>
186
- </div>
187
-
188
-
189
- </div>
190
-
191
- </div>
192
- </div>
193
- <footer class="footer">
194
- <div class="container">
195
- <p class="pull-right">
196
- <a href="#">Back to top</a>
197
-
198
- </p>
199
- <p>
200
- &copy; Copyright 2016, E.S.R.Labs AG.<br/>
201
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
202
- </p>
203
- </div>
204
- </footer>
205
- </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>Prebuild configurations for distributions &mdash; bake documentation</title>
9
+
10
+ <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
+ <link rel="stylesheet" href="../_static/bootswatch-3.3.4/sandstone/bootstrap.min.css" type="text/css" />
13
+ <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
14
+
15
+ <script type="text/javascript">
16
+ var DOCUMENTATION_OPTIONS = {
17
+ URL_ROOT: '../',
18
+ VERSION: '',
19
+ COLLAPSE_INDEX: false,
20
+ FILE_SUFFIX: '.html',
21
+ HAS_SOURCE: true
22
+ };
23
+ </script>
24
+ <script type="text/javascript" src="../_static/jquery.js"></script>
25
+ <script type="text/javascript" src="../_static/underscore.js"></script>
26
+ <script type="text/javascript" src="../_static/doctools.js"></script>
27
+ <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
28
+ <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
29
+ <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
+ <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
+ <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
+ <link rel="up" title="Concepts" href="concepts.html" />
34
+ <link rel="next" title="Injection and inheritance of IncludeDir and Dependency" href="inject.html" />
35
+ <link rel="prev" title="The link order" href="link_order.html" />
36
+ <meta charset='utf-8'>
37
+ <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
+ <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
+ <meta name="apple-mobile-web-app-capable" content="yes">
40
+
41
+ </head>
42
+ <body role="document">
43
+
44
+ <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
+ <div class="container">
46
+ <div class="navbar-header">
47
+ <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
+ <span class="icon-bar"></span>
50
+ <span class="icon-bar"></span>
51
+ <span class="icon-bar"></span>
52
+ </button>
53
+ <a class="navbar-brand" href="../index.html"><img src="../_static/logo_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="#">Prebuild configurations for distributions</a><ul>
100
+ <li><a class="reference internal" href="#typical-workflow">Typical workflow</a></li>
101
+ </ul>
102
+ </li>
103
+ </ul>
104
+ </ul>
105
+ </li>
106
+
107
+
108
+
109
+
110
+
111
+ <li>
112
+ <a href="link_order.html" title="Previous Chapter: The link order"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; The link order</span>
113
+ </a>
114
+ </li>
115
+ <li>
116
+ <a href="inject.html" title="Next Chapter: Injection and inheritance of IncludeDir and Dependency"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Injection and... &raquo;</span>
117
+ </a>
118
+ </li>
119
+
120
+
121
+
122
+
123
+
124
+ </ul>
125
+
126
+
127
+
128
+ <form class="navbar-form navbar-right" action="../search.html" method="get">
129
+ <div class="form-group">
130
+ <input type="text" name="q" class="form-control" placeholder="Search" />
131
+ </div>
132
+ <input type="hidden" name="check_keywords" value="yes" />
133
+ <input type="hidden" name="area" value="default" />
134
+ </form>
135
+
136
+ </div>
137
+ </div>
138
+ </div>
139
+
140
+ <div class="container">
141
+ <div class="row">
142
+ <div class="col-md-12">
143
+
144
+ <div class="section" id="prebuild-configurations-for-distributions">
145
+ <h1>Prebuild configurations for distributions<a class="headerlink" href="#prebuild-configurations-for-distributions" title="Permalink to this headline">¶</a></h1>
146
+ <p>This is a useful feature if you want to make a part of workspace available for third party without changing the configuration.</p>
147
+ <p>There are two major use cases:</p>
148
+ <ul class="simple">
149
+ <li>Only a few projects shall be closed source (e.g. to hide some algorithms)</li>
150
+ <li>Only a few projects shall be open source (e.g. if a supplier has integrate a library)</li>
151
+ </ul>
152
+ <p>Both is possible with bake, but the current UI is optimized for the latter one.</p>
153
+ <p>Add in the Project.meta the following code:</p>
154
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">Prebuild {</span>
155
+ <span class="go"> Except main, config: Debug</span>
156
+ <span class="go"> Except newLib, config: Debug</span>
157
+ <span class="go"> Except setup, config: Release</span>
158
+ <span class="go">}</span>
159
+ </pre></div>
160
+ </div>
161
+ <p>It is possible to specify the Prebuild tags in all configurations, not only in the main configuration. Logically they will be merged.</p>
162
+ <p>In the example above, no configurations will be built - except those three. The prebuild output is used directly.</p>
163
+ <p>To reference a configuration of the same project, omit the project name, e.g.:</p>
164
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">Except config: Base</span>
165
+ </pre></div>
166
+ </div>
167
+ <p>To reference all configuration of a project, omit the config name, e.g.:</p>
168
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">Except newLib</span>
169
+ </pre></div>
170
+ </div>
171
+ <p>This prebuild behaviour must be explicitly turned on by using the following the command line argument:</p>
172
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">--prebuild</span>
173
+ </pre></div>
174
+ </div>
175
+ <p>Note, that if objects files exist, the library will be built from existing object files (glob for *.o in appropriate build folder). If only the archive exists, the archive will be used without building it.</p>
176
+ <div class="section" id="typical-workflow">
177
+ <h2>Typical workflow<a class="headerlink" href="#typical-workflow" title="Permalink to this headline">¶</a></h2>
178
+ <ol class="arabic simple">
179
+ <li>Compiling the workspace completely without prebuild feature.</li>
180
+ <li>Executing a distribution script which copies all relevant files to a distribution directory.
181
+ Make sure to add all header files of prebuild libraries if they are needed for other non-prebuild libraries.
182
+ You may use the dependency files in the output directory for that script.</li>
183
+ <li>In the distribution folder use &#8220;&#8211;prebuild&#8221; when compiling the workspace.</li>
184
+ </ol>
185
+ </div>
186
+ </div>
187
+
188
+
189
+ </div>
190
+
191
+ </div>
192
+ </div>
193
+ <footer class="footer">
194
+ <div class="container">
195
+ <p class="pull-right">
196
+ <a href="#">Back to top</a>
197
+
198
+ </p>
199
+ <p>
200
+ &copy; Copyright 2016, E.S.R.Labs AG.<br/>
201
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
202
+ </p>
203
+ </div>
204
+ </footer>
205
+ </body>
206
206
  </html>
@@ -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 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 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">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 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 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 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_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 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>