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,289 +1,289 @@
1
- <!DOCTYPE html>
2
-
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
-
8
- <title>The Project.meta file &mdash; bake 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 main project" href="the_main_project.html" />
35
- <link rel="prev" title="Concepts" href="concepts.html" />
36
- <meta charset='utf-8'>
37
- <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
- <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
- <meta name="apple-mobile-web-app-capable" content="yes">
40
-
41
- </head>
42
- <body role="document">
43
-
44
- <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
- <div class="container">
46
- <div class="navbar-header">
47
- <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
- <span class="icon-bar"></span>
50
- <span class="icon-bar"></span>
51
- <span class="icon-bar"></span>
52
- </button>
53
- <a class="navbar-brand" href="../index.html"><img src="../_static/logo_conformant_48.png">
54
- </a>
55
- <span class="navbar-text navbar-version pull-left"><b></b></span>
56
- </div>
57
-
58
- <div class="collapse navbar-collapse nav-collapse">
59
- <ul class="nav navbar-nav">
60
-
61
-
62
- <li class="dropdown globaltoc-container">
63
- <a role="button"
64
- id="dLabelGlobalToc"
65
- data-toggle="dropdown"
66
- data-target="#"
67
- href="../index.html">Section <b class="caret"></b></a>
68
- <ul class="dropdown-menu globaltoc"
69
- role="menu"
70
- aria-labelledby="dLabelGlobalToc"><ul class="current">
71
- <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
- <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
- <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
- <li class="toctree-l1 current"><a class="reference internal" href="concepts.html">Concepts</a></li>
75
- <li class="toctree-l1"><a class="reference internal" href="../syntax/syntax.html">Syntax</a></li>
76
- <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
- <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
- <li class="toctree-l1"><a class="reference internal" href="../tips_and_tricks/tips_and_tricks.html">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 Project.meta file</a><ul>
100
- <li><a class="reference internal" href="#what-is-the-project-meta-file">What is the Project.meta file</a></li>
101
- <li><a class="reference internal" href="#example">Example</a></li>
102
- </ul>
103
- </li>
104
- </ul>
105
- </ul>
106
- </li>
107
-
108
-
109
-
110
-
111
-
112
- <li>
113
- <a href="concepts.html" title="Previous Chapter: Concepts"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Concepts</span>
114
- </a>
115
- </li>
116
- <li>
117
- <a href="the_main_project.html" title="Next Chapter: The main project"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">The main project &raquo;</span>
118
- </a>
119
- </li>
120
-
121
-
122
-
123
-
124
-
125
- </ul>
126
-
127
-
128
-
129
- <form class="navbar-form navbar-right" action="../search.html" method="get">
130
- <div class="form-group">
131
- <input type="text" name="q" class="form-control" placeholder="Search" />
132
- </div>
133
- <input type="hidden" name="check_keywords" value="yes" />
134
- <input type="hidden" name="area" value="default" />
135
- </form>
136
-
137
- </div>
138
- </div>
139
- </div>
140
-
141
- <div class="container">
142
- <div class="row">
143
- <div class="col-md-12">
144
-
145
- <div class="section" id="the-project-meta-file">
146
- <h1>The Project.meta file<a class="headerlink" href="#the-project-meta-file" title="Permalink to this headline">¶</a></h1>
147
- <div class="section" id="what-is-the-project-meta-file">
148
- <h2>What is the Project.meta file<a class="headerlink" href="#what-is-the-project-meta-file" title="Permalink to this headline">¶</a></h2>
149
- <p>The <cite>Project.meta</cite> file is bakes configuration file.</p>
150
- <ul class="simple">
151
- <li>Every project has a Project.meta file in the project root directory.</li>
152
- <li>A Project.meta file contains one or more build configurations.</li>
153
- <li>A build configuration consists of toolchain settings, files to build, custom steps, etc.</li>
154
- </ul>
155
- </div>
156
- <div class="section" id="example">
157
- <h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
158
- <table border="1" class="docutils">
159
- <colgroup>
160
- <col width="50%" />
161
- <col width="50%" />
162
- </colgroup>
163
- <thead valign="bottom">
164
- <tr class="row-odd"><th class="head">Project.meta file of Main project</th>
165
- <th class="head">Project.meta file of Sub project</th>
166
- </tr>
167
- </thead>
168
- <tbody valign="top">
169
- <tr class="row-even"><td><div class="first last highlight-python"><div class="highlight"><pre>Project {
170
- ExecutableConfig Debug {
171
- Dependency Sub, config: Debug
172
- Files &quot;**/*.cpp&quot;
173
- IncludeDir &quot;include&quot;
174
- DefaultToolchain GCC {
175
- Compiler CPP {
176
- Flags &quot;-Wall&quot;
177
- }
178
- }
179
- PostSteps {
180
- CommandLine &quot;echo $(ArtifactName) built.&quot;
181
- }
182
- }
183
- }
184
- </pre></div>
185
- </div>
186
- </td>
187
- <td><div class="first last highlight-python"><div class="highlight"><pre>Project {
188
- LibraryConfig Debug {
189
- Files &quot;**/*.cpp&quot;
190
- IncludeDir &quot;include&quot;
191
- IncludeDir &quot;Main/include&quot;
192
- ExternalLibrarySearchPath &quot;lib&quot;
193
- ExternalLibrary &quot;a&quot;
194
- ExternalLibrary &quot;b&quot;
195
- Toolchain {
196
- Compiler CPP {
197
- Flags add: &quot;-g3&quot;
198
- }
199
- }
200
- }
201
- }
202
- </pre></div>
203
- </div>
204
- </td>
205
- </tr>
206
- </tbody>
207
- </table>
208
- <p>Let&#8217;s assume that Main and Sub are located in the same workspace root.
209
- To build the executable, bake can be called from the Main directory.</p>
210
- <blockquote>
211
- <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~/my_project$</span> bake -b Debug
212
- </pre></div>
213
- </div>
214
- </div></blockquote>
215
- <p>What happens now?</p>
216
- <blockquote>
217
- <div><ol class="arabic">
218
- <li><p class="first">Reading Project.meta of Main</p>
219
- </li>
220
- <li><p class="first">Reading Project.meta of dependencies (Sub)</p>
221
- </li>
222
- <li><dl class="first docutils">
223
- <dt>Compiling sources of Sub, e.g.:</dt>
224
- <dd><div class="first highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -c -Wall -g3 -Iinclude -I../Main/include -o Debug_Main/src/xy.o src/xy.cpp
225
- </pre></div>
226
- </div>
227
- <ul class="last simple">
228
- <li>Wall is taken from the DefaultToolchain and -g3 is added by the toolchain of the Sub project.</li>
229
- <li>The include path to Main is automatically adjusted.</li>
230
- <li>The order of includes is the same as in Project.meta.</li>
231
- <li>g++, -c and -I are used, because GCC was specified in the DefaultToolchain.</li>
232
- </ul>
233
- </dd>
234
- </dl>
235
- </li>
236
- <li><p class="first">Archiving the library, e.g.:</p>
237
- <blockquote>
238
- <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> ar -rc Debug_Main/libSub.a Debug_Main/src/xy.o
239
- </pre></div>
240
- </div>
241
- </div></blockquote>
242
- </li>
243
- <li><p class="first">Compiling sources of Main, e.g.:</p>
244
- <blockquote>
245
- <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -c -Wall -Iinclude -o Debug/src/main.o src/main.cpp
246
- </pre></div>
247
- </div>
248
- </div></blockquote>
249
- </li>
250
- <li><p class="first">Linking executable, e.g.:</p>
251
- <blockquote>
252
- <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -o Debug/Main.exe Debug/src/main.o ../Sub/Debug_Main/libSub.a -L../Sub/lib -la -lb
253
- </pre></div>
254
- </div>
255
- <p>The library search paths and libraries are added in the specified order.</p>
256
- </div></blockquote>
257
- </li>
258
- <li><p class="first">Executing the post step</p>
259
- <blockquote>
260
- <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> <span class="nb">echo </span>Main.exe built.
261
- </pre></div>
262
- </div>
263
- <p>The variable was automatically substituted.</p>
264
- </div></blockquote>
265
- </li>
266
- </ol>
267
- </div></blockquote>
268
- </div>
269
- </div>
270
-
271
-
272
- </div>
273
-
274
- </div>
275
- </div>
276
- <footer class="footer">
277
- <div class="container">
278
- <p class="pull-right">
279
- <a href="#">Back to top</a>
280
-
281
- </p>
282
- <p>
283
- &copy; Copyright 2016, E.S.R.Labs AG.<br/>
284
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
285
- </p>
286
- </div>
287
- </footer>
288
- </body>
1
+ <!DOCTYPE html>
2
+
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml">
5
+ <head>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+
8
+ <title>The Project.meta file &mdash; bake 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 main project" href="the_main_project.html" />
35
+ <link rel="prev" title="Concepts" href="concepts.html" />
36
+ <meta charset='utf-8'>
37
+ <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
+ <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
+ <meta name="apple-mobile-web-app-capable" content="yes">
40
+
41
+ </head>
42
+ <body role="document">
43
+
44
+ <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
+ <div class="container">
46
+ <div class="navbar-header">
47
+ <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
+ <span class="icon-bar"></span>
50
+ <span class="icon-bar"></span>
51
+ <span class="icon-bar"></span>
52
+ </button>
53
+ <a class="navbar-brand" href="../index.html"><img src="../_static/logo_conformant_48.png">
54
+ </a>
55
+ <span class="navbar-text navbar-version pull-left"><b></b></span>
56
+ </div>
57
+
58
+ <div class="collapse navbar-collapse nav-collapse">
59
+ <ul class="nav navbar-nav">
60
+
61
+
62
+ <li class="dropdown globaltoc-container">
63
+ <a role="button"
64
+ id="dLabelGlobalToc"
65
+ data-toggle="dropdown"
66
+ data-target="#"
67
+ href="../index.html">Section <b class="caret"></b></a>
68
+ <ul class="dropdown-menu globaltoc"
69
+ role="menu"
70
+ aria-labelledby="dLabelGlobalToc"><ul class="current">
71
+ <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
+ <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
+ <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
+ <li class="toctree-l1 current"><a class="reference internal" href="concepts.html">Concepts</a></li>
75
+ <li class="toctree-l1"><a class="reference internal" href="../syntax/syntax.html">Syntax</a></li>
76
+ <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
+ <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
+ <li class="toctree-l1"><a class="reference internal" href="../tips_and_tricks/tips_and_tricks.html">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 Project.meta file</a><ul>
100
+ <li><a class="reference internal" href="#what-is-the-project-meta-file">What is the Project.meta file</a></li>
101
+ <li><a class="reference internal" href="#example">Example</a></li>
102
+ </ul>
103
+ </li>
104
+ </ul>
105
+ </ul>
106
+ </li>
107
+
108
+
109
+
110
+
111
+
112
+ <li>
113
+ <a href="concepts.html" title="Previous Chapter: Concepts"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Concepts</span>
114
+ </a>
115
+ </li>
116
+ <li>
117
+ <a href="the_main_project.html" title="Next Chapter: The main project"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">The main project &raquo;</span>
118
+ </a>
119
+ </li>
120
+
121
+
122
+
123
+
124
+
125
+ </ul>
126
+
127
+
128
+
129
+ <form class="navbar-form navbar-right" action="../search.html" method="get">
130
+ <div class="form-group">
131
+ <input type="text" name="q" class="form-control" placeholder="Search" />
132
+ </div>
133
+ <input type="hidden" name="check_keywords" value="yes" />
134
+ <input type="hidden" name="area" value="default" />
135
+ </form>
136
+
137
+ </div>
138
+ </div>
139
+ </div>
140
+
141
+ <div class="container">
142
+ <div class="row">
143
+ <div class="col-md-12">
144
+
145
+ <div class="section" id="the-project-meta-file">
146
+ <h1>The Project.meta file<a class="headerlink" href="#the-project-meta-file" title="Permalink to this headline">¶</a></h1>
147
+ <div class="section" id="what-is-the-project-meta-file">
148
+ <h2>What is the Project.meta file<a class="headerlink" href="#what-is-the-project-meta-file" title="Permalink to this headline">¶</a></h2>
149
+ <p>The <cite>Project.meta</cite> file is bakes configuration file.</p>
150
+ <ul class="simple">
151
+ <li>Every project has a Project.meta file in the project root directory.</li>
152
+ <li>A Project.meta file contains one or more build configurations.</li>
153
+ <li>A build configuration consists of toolchain settings, files to build, custom steps, etc.</li>
154
+ </ul>
155
+ </div>
156
+ <div class="section" id="example">
157
+ <h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
158
+ <table border="1" class="docutils">
159
+ <colgroup>
160
+ <col width="50%" />
161
+ <col width="50%" />
162
+ </colgroup>
163
+ <thead valign="bottom">
164
+ <tr class="row-odd"><th class="head">Project.meta file of Main project</th>
165
+ <th class="head">Project.meta file of Sub project</th>
166
+ </tr>
167
+ </thead>
168
+ <tbody valign="top">
169
+ <tr class="row-even"><td><div class="first last highlight-python"><div class="highlight"><pre>Project {
170
+ ExecutableConfig Debug {
171
+ Dependency Sub, config: Debug
172
+ Files &quot;**/*.cpp&quot;
173
+ IncludeDir &quot;include&quot;
174
+ DefaultToolchain GCC {
175
+ Compiler CPP {
176
+ Flags &quot;-Wall&quot;
177
+ }
178
+ }
179
+ PostSteps {
180
+ CommandLine &quot;echo $(ArtifactName) built.&quot;
181
+ }
182
+ }
183
+ }
184
+ </pre></div>
185
+ </div>
186
+ </td>
187
+ <td><div class="first last highlight-python"><div class="highlight"><pre>Project {
188
+ LibraryConfig Debug {
189
+ Files &quot;**/*.cpp&quot;
190
+ IncludeDir &quot;include&quot;
191
+ IncludeDir &quot;Main/include&quot;
192
+ ExternalLibrarySearchPath &quot;lib&quot;
193
+ ExternalLibrary &quot;a&quot;
194
+ ExternalLibrary &quot;b&quot;
195
+ Toolchain {
196
+ Compiler CPP {
197
+ Flags add: &quot;-g3&quot;
198
+ }
199
+ }
200
+ }
201
+ }
202
+ </pre></div>
203
+ </div>
204
+ </td>
205
+ </tr>
206
+ </tbody>
207
+ </table>
208
+ <p>Let&#8217;s assume that Main and Sub are located in the same workspace root.
209
+ To build the executable, bake can be called from the Main directory.</p>
210
+ <blockquote>
211
+ <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~/my_project$</span> bake -b Debug
212
+ </pre></div>
213
+ </div>
214
+ </div></blockquote>
215
+ <p>What happens now?</p>
216
+ <blockquote>
217
+ <div><ol class="arabic">
218
+ <li><p class="first">Reading Project.meta of Main</p>
219
+ </li>
220
+ <li><p class="first">Reading Project.meta of dependencies (Sub)</p>
221
+ </li>
222
+ <li><dl class="first docutils">
223
+ <dt>Compiling sources of Sub, e.g.:</dt>
224
+ <dd><div class="first highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -c -Wall -g3 -Iinclude -I../Main/include -o Debug_Main/src/xy.o src/xy.cpp
225
+ </pre></div>
226
+ </div>
227
+ <ul class="last simple">
228
+ <li>Wall is taken from the DefaultToolchain and -g3 is added by the toolchain of the Sub project.</li>
229
+ <li>The include path to Main is automatically adjusted.</li>
230
+ <li>The order of includes is the same as in Project.meta.</li>
231
+ <li>g++, -c and -I are used, because GCC was specified in the DefaultToolchain.</li>
232
+ </ul>
233
+ </dd>
234
+ </dl>
235
+ </li>
236
+ <li><p class="first">Archiving the library, e.g.:</p>
237
+ <blockquote>
238
+ <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> ar -rc Debug_Main/libSub.a Debug_Main/src/xy.o
239
+ </pre></div>
240
+ </div>
241
+ </div></blockquote>
242
+ </li>
243
+ <li><p class="first">Compiling sources of Main, e.g.:</p>
244
+ <blockquote>
245
+ <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -c -Wall -Iinclude -o Debug/src/main.o src/main.cpp
246
+ </pre></div>
247
+ </div>
248
+ </div></blockquote>
249
+ </li>
250
+ <li><p class="first">Linking executable, e.g.:</p>
251
+ <blockquote>
252
+ <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> g++ -o Debug/Main.exe Debug/src/main.o ../Sub/Debug_Main/libSub.a -L../Sub/lib -la -lb
253
+ </pre></div>
254
+ </div>
255
+ <p>The library search paths and libraries are added in the specified order.</p>
256
+ </div></blockquote>
257
+ </li>
258
+ <li><p class="first">Executing the post step</p>
259
+ <blockquote>
260
+ <div><div class="highlight-console"><div class="highlight"><pre><span class="gp">User@Host:~$</span> <span class="nb">echo </span>Main.exe built.
261
+ </pre></div>
262
+ </div>
263
+ <p>The variable was automatically substituted.</p>
264
+ </div></blockquote>
265
+ </li>
266
+ </ol>
267
+ </div></blockquote>
268
+ </div>
269
+ </div>
270
+
271
+
272
+ </div>
273
+
274
+ </div>
275
+ </div>
276
+ <footer class="footer">
277
+ <div class="container">
278
+ <p class="pull-right">
279
+ <a href="#">Back to top</a>
280
+
281
+ </p>
282
+ <p>
283
+ &copy; Copyright 2016, E.S.R.Labs AG.<br/>
284
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
285
+ </p>
286
+ </div>
287
+ </footer>
288
+ </body>
289
289
  </html>