bake-toolkit 2.11.2 → 2.11.3

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 (246) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/_build/html/_images/AddRepository.png +0 -0
  3. data/documentation/_build/html/_images/AvailableSoftware.png +0 -0
  4. data/documentation/_build/html/_images/FirstSelect.png +0 -0
  5. data/documentation/_build/html/_images/Import.png +0 -0
  6. data/documentation/_build/html/_images/InstallNewSoftware.png +0 -0
  7. data/documentation/_build/html/_images/Licenses.png +0 -0
  8. data/documentation/_build/html/_images/New.png +0 -0
  9. data/documentation/_build/html/_images/Restart.png +0 -0
  10. data/documentation/_build/html/_images/Result.png +0 -0
  11. data/documentation/_build/html/_images/Script.png +0 -0
  12. data/documentation/_build/html/_images/SecondSelect.png +0 -0
  13. data/documentation/_build/html/_images/SelectExport.png +0 -0
  14. data/documentation/_build/html/_images/SelectImport.png +0 -0
  15. data/documentation/_build/html/_images/SelectNew.png +0 -0
  16. data/documentation/_build/html/_images/TrustMe.png +0 -0
  17. data/documentation/_build/html/_images/WrongSelect.png +0 -0
  18. data/documentation/_build/html/_images/bake_build_hierachy.png +0 -0
  19. data/documentation/_build/html/_images/bake_tagcloud.png +0 -0
  20. data/documentation/_build/html/_images/buildFile.png +0 -0
  21. data/documentation/_build/html/_images/buildMain.png +0 -0
  22. data/documentation/_build/html/_images/console.png +0 -0
  23. data/documentation/_build/html/_images/cvsp.png +0 -0
  24. data/documentation/_build/html/_images/cygwin_mount.png +0 -0
  25. data/documentation/_build/html/_images/cygwin_ruby.png +0 -0
  26. data/documentation/_build/html/_images/cygwin_tty.png +0 -0
  27. data/documentation/_build/html/_images/hier.png +0 -0
  28. data/documentation/_build/html/_images/keys.png +0 -0
  29. data/documentation/_build/html/_images/pref.png +0 -0
  30. data/documentation/_build/html/_images/problem.png +0 -0
  31. data/documentation/_build/html/_images/vs_2010_install.png +0 -0
  32. data/documentation/_build/html/_images/vs_debug.png +0 -0
  33. data/documentation/_build/html/_images/vs_error.png +0 -0
  34. data/documentation/_build/html/_images/vs_install1.png +0 -0
  35. data/documentation/_build/html/_images/vs_installed.png +0 -0
  36. data/documentation/_build/html/_images/vs_options.png +0 -0
  37. data/documentation/_build/html/_images/vs_select_config.png +0 -0
  38. data/documentation/_build/html/_images/vs_show_config.png +0 -0
  39. data/documentation/_build/html/_images/vs_update.png +0 -0
  40. data/documentation/_build/html/_images/vs_update_site.png +0 -0
  41. data/documentation/_build/html/_sources/changelog.txt +314 -0
  42. data/documentation/_build/html/_sources/commandline/commandline.txt +107 -0
  43. data/documentation/_build/html/_sources/concepts/build_hierarchy.txt +34 -0
  44. data/documentation/_build/html/_sources/concepts/concepts.txt +11 -0
  45. data/documentation/_build/html/_sources/concepts/the_main_project.txt +45 -0
  46. data/documentation/_build/html/_sources/concepts/the_project_meta_file.txt +72 -0
  47. data/documentation/_build/html/_sources/ide/eclipse/eclipse.txt +24 -0
  48. data/documentation/_build/html/_sources/ide/eclipse/how_to_convert_existing_cdt_workspace.txt +31 -0
  49. data/documentation/_build/html/_sources/ide/eclipse/how_to_create_a_new_project_in_eclipse.txt +18 -0
  50. data/documentation/_build/html/_sources/ide/eclipse/how_to_create_a_workspace_in_eclipse.txt +27 -0
  51. data/documentation/_build/html/_sources/ide/eclipse/how_to_install_eclipse_plugin.txt +44 -0
  52. data/documentation/_build/html/_sources/ide/eclipse/how_to_use_bake_in_eclipse.txt +86 -0
  53. data/documentation/_build/html/_sources/ide/ide_integrations.txt +8 -0
  54. data/documentation/_build/html/_sources/ide/vs/how_to_create_vs_projects.txt +15 -0
  55. data/documentation/_build/html/_sources/ide/vs/how_to_debug_in_vs.txt +35 -0
  56. data/documentation/_build/html/_sources/ide/vs/how_to_used_bake_in_vs.txt +35 -0
  57. data/documentation/_build/html/_sources/ide/vs/vs.txt +10 -0
  58. data/documentation/_build/html/_sources/ide/vs/vs_install.txt +43 -0
  59. data/documentation/_build/html/_sources/index.txt +34 -0
  60. data/documentation/_build/html/_sources/install/install_bake.txt +112 -0
  61. data/documentation/_build/html/_sources/internal.txt +50 -0
  62. data/documentation/_build/html/_sources/known_issues.txt +9 -0
  63. data/documentation/_build/html/_sources/license.txt +4 -0
  64. data/documentation/_build/html/_sources/performance/performance.txt +104 -0
  65. data/documentation/_build/html/_sources/quickstart/quickstart.txt +70 -0
  66. data/documentation/_build/html/_sources/syntax/derive_configs.txt +93 -0
  67. data/documentation/_build/html/_sources/syntax/project_meta_syntax.txt +19 -0
  68. data/documentation/_build/html/_sources/syntax/syntax.txt +10 -0
  69. data/documentation/_build/html/_sources/syntax/variable_substitutions.txt +175 -0
  70. data/documentation/_build/html/_sources/tips_and_tricks/how_to_use_bake_with_cygwin.txt +49 -0
  71. data/documentation/_build/html/_sources/tips_and_tricks/static_code_analysis.txt +122 -0
  72. data/documentation/_build/html/_sources/tips_and_tricks/the_bakery.txt +66 -0
  73. data/documentation/_build/html/_sources/tips_and_tricks/the_clang.txt +43 -0
  74. data/documentation/_build/html/_sources/tips_and_tricks/tips_and_tricks.txt +33 -0
  75. data/documentation/_build/html/_sources/why_bake/why_bake.txt +40 -0
  76. data/documentation/_build/html/_static/AddRepository.png +0 -0
  77. data/documentation/_build/html/_static/AvailableSoftware.png +0 -0
  78. data/documentation/_build/html/_static/FirstSelect.png +0 -0
  79. data/documentation/_build/html/_static/Import.png +0 -0
  80. data/documentation/_build/html/_static/InstallNewSoftware.png +0 -0
  81. data/documentation/_build/html/_static/Lib.meta +8 -0
  82. data/documentation/_build/html/_static/Licenses.png +0 -0
  83. data/documentation/_build/html/_static/Main.meta +26 -0
  84. data/documentation/_build/html/_static/New.png +0 -0
  85. data/documentation/_build/html/_static/PMetaMain.meta +15 -0
  86. data/documentation/_build/html/_static/PMetaSub.meta +15 -0
  87. data/documentation/_build/html/_static/Restart.png +0 -0
  88. data/documentation/_build/html/_static/Result.png +0 -0
  89. data/documentation/_build/html/_static/Script.png +0 -0
  90. data/documentation/_build/html/_static/SecondSelect.png +0 -0
  91. data/documentation/_build/html/_static/Select.png +0 -0
  92. data/documentation/_build/html/_static/SelectExport.png +0 -0
  93. data/documentation/_build/html/_static/SelectImport.png +0 -0
  94. data/documentation/_build/html/_static/SelectNew.png +0 -0
  95. data/documentation/_build/html/_static/TrustMe.png +0 -0
  96. data/documentation/_build/html/_static/WrongSelect.png +0 -0
  97. data/documentation/_build/html/_static/ajax-loader.gif +0 -0
  98. data/documentation/_build/html/_static/bake_build_hierachy.png +0 -0
  99. data/documentation/_build/html/_static/bake_tagcloud.png +0 -0
  100. data/documentation/_build/html/_static/basic.css +599 -0
  101. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.css +1109 -0
  102. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.min.css +9 -0
  103. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap.css +6167 -0
  104. data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap.min.css +9 -0
  105. data/documentation/_build/html/_static/bootstrap-2.3.2/img/glyphicons-halflings-white.png +0 -0
  106. data/documentation/_build/html/_static/bootstrap-2.3.2/img/glyphicons-halflings.png +0 -0
  107. data/documentation/_build/html/_static/bootstrap-2.3.2/js/bootstrap.js +2287 -0
  108. data/documentation/_build/html/_static/bootstrap-2.3.2/js/bootstrap.min.js +6 -0
  109. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.css +476 -0
  110. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.css.map +1 -0
  111. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.min.css +5 -0
  112. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.css +6584 -0
  113. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.css.map +1 -0
  114. data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.min.css +5 -0
  115. data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.eot +0 -0
  116. data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.svg +288 -0
  117. data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.ttf +0 -0
  118. data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.woff +0 -0
  119. data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.woff2 +0 -0
  120. data/documentation/_build/html/_static/bootstrap-3.3.4/js/bootstrap.js +2317 -0
  121. data/documentation/_build/html/_static/bootstrap-3.3.4/js/bootstrap.min.js +7 -0
  122. data/documentation/_build/html/_static/bootstrap-3.3.4/js/npm.js +13 -0
  123. data/documentation/_build/html/_static/bootstrap-sphinx.css +186 -0
  124. data/documentation/_build/html/_static/bootstrap-sphinx.js +162 -0
  125. data/documentation/_build/html/_static/bootswatch-2.3.2/amelia/bootstrap.min.css +9 -0
  126. data/documentation/_build/html/_static/bootswatch-2.3.2/cerulean/bootstrap.min.css +9 -0
  127. data/documentation/_build/html/_static/bootswatch-2.3.2/cosmo/bootstrap.min.css +9 -0
  128. data/documentation/_build/html/_static/bootswatch-2.3.2/cyborg/bootstrap.min.css +9 -0
  129. data/documentation/_build/html/_static/bootswatch-2.3.2/flatly/bootstrap.min.css +9 -0
  130. data/documentation/_build/html/_static/bootswatch-2.3.2/img/glyphicons-halflings-white.png +0 -0
  131. data/documentation/_build/html/_static/bootswatch-2.3.2/img/glyphicons-halflings.png +0 -0
  132. data/documentation/_build/html/_static/bootswatch-2.3.2/journal/bootstrap.min.css +9 -0
  133. data/documentation/_build/html/_static/bootswatch-2.3.2/readable/bootstrap.min.css +9 -0
  134. data/documentation/_build/html/_static/bootswatch-2.3.2/simplex/bootstrap.min.css +9 -0
  135. data/documentation/_build/html/_static/bootswatch-2.3.2/slate/bootstrap.min.css +9 -0
  136. data/documentation/_build/html/_static/bootswatch-2.3.2/spacelab/bootstrap.min.css +9 -0
  137. data/documentation/_build/html/_static/bootswatch-2.3.2/spruce/bootstrap.min.css +9 -0
  138. data/documentation/_build/html/_static/bootswatch-2.3.2/superhero/bootstrap.min.css +9 -0
  139. data/documentation/_build/html/_static/bootswatch-2.3.2/united/bootstrap.min.css +9 -0
  140. data/documentation/_build/html/_static/bootswatch-3.3.4/cerulean/bootstrap.min.css +7 -0
  141. data/documentation/_build/html/_static/bootswatch-3.3.4/cosmo/bootstrap.min.css +7 -0
  142. data/documentation/_build/html/_static/bootswatch-3.3.4/custom/bootstrap.min.css +7 -0
  143. data/documentation/_build/html/_static/bootswatch-3.3.4/cyborg/bootstrap.min.css +7 -0
  144. data/documentation/_build/html/_static/bootswatch-3.3.4/darkly/bootstrap.min.css +7 -0
  145. data/documentation/_build/html/_static/bootswatch-3.3.4/flatly/bootstrap.min.css +7 -0
  146. data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.eot +0 -0
  147. data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.svg +288 -0
  148. data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.ttf +0 -0
  149. data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.woff +0 -0
  150. data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.woff2 +0 -0
  151. data/documentation/_build/html/_static/bootswatch-3.3.4/journal/bootstrap.min.css +7 -0
  152. data/documentation/_build/html/_static/bootswatch-3.3.4/lumen/bootstrap.min.css +7 -0
  153. data/documentation/_build/html/_static/bootswatch-3.3.4/paper/bootstrap.min.css +7 -0
  154. data/documentation/_build/html/_static/bootswatch-3.3.4/readable/bootstrap.min.css +7 -0
  155. data/documentation/_build/html/_static/bootswatch-3.3.4/sandstone/bootstrap.min.css +7 -0
  156. data/documentation/_build/html/_static/bootswatch-3.3.4/simplex/bootstrap.min.css +7 -0
  157. data/documentation/_build/html/_static/bootswatch-3.3.4/slate/bootstrap.min.css +7 -0
  158. data/documentation/_build/html/_static/bootswatch-3.3.4/spacelab/bootstrap.min.css +7 -0
  159. data/documentation/_build/html/_static/bootswatch-3.3.4/superhero/bootstrap.min.css +7 -0
  160. data/documentation/_build/html/_static/bootswatch-3.3.4/united/bootstrap.min.css +7 -0
  161. data/documentation/_build/html/_static/bootswatch-3.3.4/yeti/bootstrap.min.css +7 -0
  162. data/documentation/_build/html/_static/buildFile.png +0 -0
  163. data/documentation/_build/html/_static/buildMain.png +0 -0
  164. data/documentation/_build/html/_static/comment-bright.png +0 -0
  165. data/documentation/_build/html/_static/comment-close.png +0 -0
  166. data/documentation/_build/html/_static/comment.png +0 -0
  167. data/documentation/_build/html/_static/console.png +0 -0
  168. data/documentation/_build/html/_static/cvsp.png +0 -0
  169. data/documentation/_build/html/_static/cygwin_mount.png +0 -0
  170. data/documentation/_build/html/_static/cygwin_ruby.png +0 -0
  171. data/documentation/_build/html/_static/cygwin_tty.png +0 -0
  172. data/documentation/_build/html/_static/doctools.js +263 -0
  173. data/documentation/_build/html/_static/down-pressed.png +0 -0
  174. data/documentation/_build/html/_static/down.png +0 -0
  175. data/documentation/_build/html/_static/file.png +0 -0
  176. data/documentation/_build/html/_static/hier.png +0 -0
  177. data/documentation/_build/html/_static/jquery-1.11.1.js +10308 -0
  178. data/documentation/_build/html/_static/jquery.js +4 -0
  179. data/documentation/_build/html/_static/js/jquery-1.11.0.min.js +4 -0
  180. data/documentation/_build/html/_static/js/jquery-fix.js +2 -0
  181. data/documentation/_build/html/_static/keys.png +0 -0
  182. data/documentation/_build/html/_static/minus.png +0 -0
  183. data/documentation/_build/html/_static/plus.png +0 -0
  184. data/documentation/_build/html/_static/pref.png +0 -0
  185. data/documentation/_build/html/_static/problem.png +0 -0
  186. data/documentation/_build/html/_static/pygments.css +63 -0
  187. data/documentation/_build/html/_static/searchtools.js +622 -0
  188. data/documentation/_build/html/_static/syntax.html +704 -0
  189. data/documentation/_build/html/_static/syntax_collection_meta.html +179 -0
  190. data/documentation/_build/html/_static/underscore-1.3.1.js +999 -0
  191. data/documentation/_build/html/_static/underscore.js +31 -0
  192. data/documentation/_build/html/_static/up-pressed.png +0 -0
  193. data/documentation/_build/html/_static/up.png +0 -0
  194. data/documentation/_build/html/_static/vs_2010_install.png +0 -0
  195. data/documentation/_build/html/_static/vs_debug.png +0 -0
  196. data/documentation/_build/html/_static/vs_error.png +0 -0
  197. data/documentation/_build/html/_static/vs_install1.png +0 -0
  198. data/documentation/_build/html/_static/vs_installed.png +0 -0
  199. data/documentation/_build/html/_static/vs_options.png +0 -0
  200. data/documentation/_build/html/_static/vs_select_config.png +0 -0
  201. data/documentation/_build/html/_static/vs_show_config.png +0 -0
  202. data/documentation/_build/html/_static/vs_update.png +0 -0
  203. data/documentation/_build/html/_static/vs_update_site.png +0 -0
  204. data/documentation/_build/html/_static/websupport.js +808 -0
  205. data/documentation/_build/html/changelog.html +735 -0
  206. data/documentation/_build/html/commandline/commandline.html +284 -0
  207. data/documentation/_build/html/concepts/build_hierarchy.html +204 -0
  208. data/documentation/_build/html/concepts/concepts.html +181 -0
  209. data/documentation/_build/html/concepts/the_main_project.html +260 -0
  210. data/documentation/_build/html/concepts/the_project_meta_file.html +288 -0
  211. data/documentation/_build/html/genindex.html +152 -0
  212. data/documentation/_build/html/ide/eclipse/eclipse.html +185 -0
  213. data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +208 -0
  214. data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +191 -0
  215. data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +198 -0
  216. data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +196 -0
  217. data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +256 -0
  218. data/documentation/_build/html/ide/ide_integrations.html +182 -0
  219. data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +171 -0
  220. data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +185 -0
  221. data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +190 -0
  222. data/documentation/_build/html/ide/vs/vs.html +170 -0
  223. data/documentation/_build/html/ide/vs/vs_install.html +202 -0
  224. data/documentation/_build/html/index.html +238 -0
  225. data/documentation/_build/html/install/install_bake.html +279 -0
  226. data/documentation/_build/html/internal.html +217 -0
  227. data/documentation/_build/html/known_issues.html +175 -0
  228. data/documentation/_build/html/license.html +236 -0
  229. data/documentation/_build/html/objects.inv +0 -0
  230. data/documentation/_build/html/performance/performance.html +373 -0
  231. data/documentation/_build/html/quickstart/quickstart.html +236 -0
  232. data/documentation/_build/html/search.html +174 -0
  233. data/documentation/_build/html/searchindex.js +1 -0
  234. data/documentation/_build/html/syntax/derive_configs.html +295 -0
  235. data/documentation/_build/html/syntax/project_meta_syntax.html +884 -0
  236. data/documentation/_build/html/syntax/syntax.html +181 -0
  237. data/documentation/_build/html/syntax/variable_substitutions.html +378 -0
  238. data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +203 -0
  239. data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +284 -0
  240. data/documentation/_build/html/tips_and_tricks/the_bakery.html +401 -0
  241. data/documentation/_build/html/tips_and_tricks/the_clang.html +201 -0
  242. data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +196 -0
  243. data/documentation/_build/html/why_bake/why_bake.html +241 -0
  244. data/lib/blocks/executable.rb +1 -1
  245. data/lib/common/version.rb +1 -1
  246. metadata +244 -2
@@ -0,0 +1,93 @@
1
+ Derive configs
2
+ ==============
3
+
4
+ bake supports deriving configs, which allows you to put repetetive settings in a base config.
5
+
6
+ Deriving a config
7
+ *****************
8
+
9
+ Derving a config in bake is pretty straight forward, and looks like this:
10
+
11
+ .. code-block:: text
12
+
13
+ ExecutableConfig A
14
+ LibraryConfig B, extends: A
15
+ CustomConfig C, extends: B
16
+ ExecutableConfig D, extends: C
17
+
18
+ .. note::
19
+
20
+ The config type of the parent config does not matter, but only settings which are valid in BOTH configs will be inherited.
21
+ In the example above D gets the dependencies from A, because "Dependency" is valid in all configs, but D does not get
22
+ the "Files" from A, because "Files" is not valid in CustomConfig.
23
+
24
+
25
+ Inheritance implications
26
+ ************************
27
+
28
+ ============================ =========================================
29
+ Setting Derived
30
+ ============================ =========================================
31
+ Set parent + child
32
+
33
+ Dependency parent + child
34
+
35
+ ExternalLibrary parent + child
36
+ (ordered by line number)
37
+
38
+ ExternalLibrarySearchPath parent + child
39
+ (ordered by line number)
40
+
41
+ UserLibrary parent + child
42
+ (ordered by line number)
43
+
44
+ PreSteps parent + child
45
+
46
+ PostSteps parent + child
47
+
48
+ Makefile used from parent if not
49
+ in child
50
+
51
+ CommandLine used from parent if not
52
+ in child
53
+
54
+ Files parent + child
55
+
56
+ ExcludeFiles parent + child
57
+
58
+ IncludeDir parent + child
59
+
60
+ LinkerScript used from parent if not in child
61
+
62
+ ArtifactName used from parent if not in child
63
+
64
+ MapFile used from parent if not in child
65
+ ============================ =========================================
66
+
67
+
68
+ ============================ =========================================
69
+ Toolchain Setting Derived
70
+ ============================ =========================================
71
+ basedOn used from parent if not in child
72
+
73
+ outputDir used from parent if not in child
74
+
75
+ command used from parent if not in child
76
+
77
+ LibPrefixFlags parent + child
78
+
79
+ LibPostfixFlags parent + child
80
+
81
+ Flags parent + child
82
+
83
+ Define parent + child
84
+
85
+ InternalDefines used from parent if not in child
86
+
87
+ InternalIncludes used from parent if not in child
88
+
89
+ LintPolicy parent + child
90
+
91
+ Docu used from parent if not in child
92
+ ============================ =========================================
93
+
@@ -0,0 +1,19 @@
1
+ The Syntax of the Project.meta file
2
+ ===================================
3
+
4
+ Instructions for the Interactive Syntax Viewer
5
+ **********************************************
6
+
7
+ * Move the mouse cursor over the blue elements to display more information.
8
+
9
+ * Three config types exist: ExecutableConfig, LibraryConfig and CustomConfig. Move the mouse cursor over these elements to display the supported content.
10
+
11
+ .. raw:: html
12
+ :file: ../_static/syntax.html
13
+
14
+ .. note::
15
+ Specify the paths always relative to the current project root, but keep the variable substitution in Project.meta in mind.
16
+
17
+ * Use double quotes (") if the strings have spaces or slashes.
18
+
19
+ * Use hash marks (#) for comments.
@@ -0,0 +1,10 @@
1
+ Syntax
2
+ ==========
3
+
4
+ .. toctree::
5
+ :maxdepth: 2
6
+
7
+ project_meta_syntax
8
+ variable_substitutions
9
+ derive_configs
10
+
@@ -0,0 +1,175 @@
1
+ Variables in Project.meta
2
+ =========================
3
+ bake allows you to use pre defined and/or user defined variables in your Project.meta file.
4
+ Defined variables then can be used using the following syntax:
5
+
6
+ .. code-block:: console
7
+
8
+ $(MyIncludes)
9
+
10
+ The variable MyIncludes will be substitued by its value, therefore a real life usage would look
11
+ something like this:
12
+
13
+ .. code-block:: console
14
+
15
+ IncludeDir "$(MyIncludes)"
16
+
17
+ User defined variables
18
+ **********************
19
+
20
+ There are two ways to create user defined variables.
21
+
22
+ #. The variable is defined with the `--set` command line option:
23
+
24
+ .. code-block:: console
25
+
26
+ User@Host:~$ bake ... --set MyVar="Hello world!"
27
+
28
+ #. THe variable is defined directly in the Project.meta file.
29
+
30
+ .. code-block:: console
31
+
32
+ Set MyVar, value: "Hello world!"
33
+
34
+
35
+ Pre defined bake environment variables
36
+ **************************************
37
+
38
+ ======================================== =============================================== ========================================
39
+ Variable Description Example
40
+ ======================================== =============================================== ========================================
41
+ *$(MainConfigName)* Evaluates to the main config name Debug
42
+
43
+ *$(MainProjectName)* Evaluates to the main project name bootloader
44
+
45
+ *$(ConfigName)* Evaluates to the config name lib
46
+
47
+ *$(ProjectName)* Evaluates to the project name canDriver
48
+
49
+ *$(ProjectDir)* Evaluates to the full path of the project C:/Root/MyProject
50
+ directory
51
+
52
+ *$(MainProjectDir)* Evaluates to the full path of the root projec C:/Root/Main
53
+ directory
54
+
55
+ *$(OutputDir)* Evaluates to the full path of the output build_lib_bootloader_Debug
56
+ directory of the current config
57
+
58
+ *$(OutputDir,projName,confName)* Evaluates to the output dir of a specific build_lib_some_Debug
59
+ config
60
+
61
+ *$(ArtifactName)* Evaluates to the artifact. bootloader_1.0.elf
62
+
63
+ *$(ArtifactNameBase)* Evaluates to the base artifact name bootloader_1.0
64
+ (Without file exension)
65
+
66
+ *$(Time)* Evaluates to the current time 2012-12-24 20:00:00 +0200
67
+
68
+ *$(Hostname)* Evaluates to the hostname MY_COMPUTER
69
+
70
+ *$(CPPPath)* Evaluates to the base path of the /usr/bin
71
+ c++ compiler
72
+
73
+ *$(CPath)* Evaluates to the base path of the /usr/bin
74
+ c compiler
75
+
76
+ *$(ASMPath)* Evaluates to the base path of the /usr/bin
77
+ assembler
78
+
79
+ *$(ArchiverPath)* Evaluates to the base path of the /usr/bin
80
+ archiver
81
+
82
+ *$(LinkerPath)* Evaluates to the base path of the /usr/bin
83
+ linker
84
+
85
+ *$(/)* Evalutes to the directory path seperator of Windows: \\, Other: /
86
+ the current platform
87
+
88
+ *$(:)* Evaluates to the path variable seperator Windows: ;, Other: :
89
+ of the current platform
90
+ ======================================== =============================================== ========================================
91
+
92
+ .. tip::
93
+
94
+ It is also possible to retrieve arbitrary an *environment variable* using the following syntax:
95
+
96
+ .. code-block:: console
97
+
98
+ $(EnvironmentVariable)
99
+
100
+ Evaluates to the Environment with the specified name, if the specified environment variable does not exists
101
+ it will be substituted by an empty string.
102
+
103
+ .. note::
104
+
105
+ Equal variables in the main config
106
+
107
+ ======================================== ========================================
108
+ Variable Is equal to
109
+ ======================================== ========================================
110
+ $(MainConfigName) $(ConfigName)
111
+
112
+ $(MainProjectName) $(ProjectName)
113
+ ======================================== ========================================
114
+
115
+ .. warning::
116
+
117
+ Variables in Dependency definitions are not allowed!
118
+
119
+
120
+ Nested variables
121
+ ****************
122
+ It is also possible to nest variables.
123
+
124
+ Example:
125
+
126
+ .. code-block:: console
127
+
128
+ $(OutputDir,$(TheProject),$(TheConfig))
129
+ $(ABC$(DEF)GH)
130
+
131
+
132
+ Auto-adjustment of paths to existing projects
133
+ *********************************************
134
+ .. warning::
135
+
136
+ If paths to other projects are needed, e.g. to "bootloaderUpdater", don't write a hard coded relative path like this:
137
+
138
+ .. code-block:: text
139
+
140
+ CommandLine "../bootloaderUpdater/tools/PrimaryBootloader2Include.exe
141
+
142
+ If paths to other projects are needed, e.g. to "bootloaderUpdater" just reference it starting from the project folder.
143
+
144
+ Example:
145
+
146
+ .. code-block:: text
147
+
148
+ CommandLine "bootloaderUpdater/tools/PrimaryBootloader2Include.exe
149
+
150
+ or:
151
+
152
+ .. code-block:: text
153
+
154
+ IncludeDir "myProjectName/bootloaderUpdater/whatever"
155
+
156
+
157
+
158
+ bake recognizes that the first part of the path is a valid project name and calculates the relative path to the project automatically.
159
+ If you have the special case that the referenced project is contained in an other workspace root, you can use the
160
+ `-w` parameter or you define a `roots.bake`.
161
+
162
+ .. note::
163
+
164
+ The path auto adjustment is applied for the following elements:
165
+
166
+ * IncludeDir
167
+
168
+ * ExternalLibrary
169
+
170
+ * ExternalLibrarySearchPath
171
+
172
+ * UserLibrary
173
+
174
+ * CommandLine
175
+
@@ -0,0 +1,49 @@
1
+ How to use bake with cygwin
2
+ ===========================
3
+ Why using Cygwin on Windows instead of the built-in command shell?
4
+ There is one major reason: Cygwin supports **colored output** via ansi escape sequences.
5
+ Note, that these steps differ depending on the Cygwin version, installed packages and configuration.
6
+
7
+ #. Get rid of the cygdrive prefix
8
+
9
+ .. image:: ../_static/cygwin_mount.png
10
+ :width: 100 %
11
+ :scale: 50 %
12
+
13
+ As you see, "c:" is now "/c" and not "/cygdrive/c" anymore.
14
+
15
+ .. note::
16
+
17
+ In newer Cygwin versions, this is not permanent. To make it permanent,
18
+ add the following line to /etc/fstab (can be found in your Cygwin installation directory):
19
+
20
+ .. code-block:: console
21
+
22
+ none / cygdrive binary,posix=0,user 0 0
23
+
24
+ #. Get rid of the Cygwin ruby
25
+
26
+ .. image:: ../_static/cygwin_ruby.png
27
+ :width: 100 %
28
+ :scale: 50 %
29
+
30
+ Easiest way is to rename the Cygwin ruby, which makes the original ruby visible.
31
+ This is only necessary if you have ruby installed in our Cygwin environment.
32
+
33
+ #. Add tty to CYGWIN option
34
+
35
+ .. image:: ../_static/cygwin_tty.png
36
+ :width: 100 %
37
+ :scale: 70 %
38
+
39
+ "tty" must be added to the CYGWIN system variable.
40
+
41
+ #. Start the build
42
+
43
+ Use the parameter "-a black" or "-a white" depending on the background color of your shell.
44
+ Depending on your Cygwin installation, you have to call "bake.bat" instead of "bake". To avoid this, create an alias, e.g:
45
+
46
+ .. code-block:: console
47
+
48
+ alias bake=/c/Programme/_dev/Ruby192/bin/bake.bat
49
+
@@ -0,0 +1,122 @@
1
+ Static Code Analysis
2
+ ====================
3
+
4
+ Static code analysis often is part or a pre step of the build, even though bake provides presteps which can be used to
5
+ add customized steps, we choose to add explicit support for static code analysis due to the fact that the analysis often
6
+ depends on information well known by the build system (include pahts, compiler flags, etc.). Currently bake has built in
7
+ support for *Pc-Lint*.
8
+
9
+ Lint
10
+ ****
11
+
12
+ With bake you can lint LibraryConfigs, ExecutableConfigs, single files and the complete workspace (in this case the projects are linted separately).
13
+ The CPP Toolchain settings of the project are used regardless of the file type and file specific options.
14
+ It is possible to specify lnt-files with LintPolicy, but you can add every other lint command line option as well.
15
+
16
+ Basic Setup
17
+ -----------
18
+
19
+ #. Install `lint <http://www.gimpel.com/html/products.htm>`_.
20
+ #. Make sure the The lint executable 'lint-nt.exe' is in the path.
21
+
22
+ .. attention::
23
+
24
+ even though there is a unix version of pc-lint the asscoated binary name must be lint-nt.exe otherwise
25
+ it won't be recorgnized by the bake build system.
26
+
27
+ After doing this steps you are able to lint your build configurations (LibraryConfigs and ExecutableConfigs) using the *--lint* flag on the command line.
28
+
29
+ Example
30
+ +++++++
31
+ .. code-block:: console
32
+
33
+ User@Host:~$ bake Debug -p MyLibraryProject --lint
34
+
35
+
36
+ Configuring Lint
37
+ ----------------
38
+
39
+ In order to configure lint in the Project.meta file, just use the *LintPolicy* command, which forwards the supplied
40
+ the parameters to lint.
41
+
42
+ .. code-block:: text
43
+
44
+ DefaultToolchain GCC {
45
+ ...
46
+ LintPolicy "$(ProjectDir)/lint/misra.lnt"
47
+ LintPolicy "$(ProjectDir)/lint/suppressions.lnt"
48
+ }
49
+
50
+ Example
51
+ +++++++
52
+
53
+ This example shows how to redirect the output to single xml files placed into the main project folder.
54
+
55
+ .. code-block:: text
56
+
57
+ DefaultToolchain GCC {
58
+ LintPolicy "-os($(MainProjectDir)/$(ProjectName)_$(ConfigName)_lintout.xml)"
59
+ LintPolicy "-v"
60
+ LintPolicy "+xml(doc)"
61
+ LintPolicy "-format=%f %l %t %n %m"
62
+ LintPolicy "-format_specific= "
63
+ LintPolicy "-pragma(message)"
64
+ ...
65
+ }
66
+
67
+
68
+ Known Issues
69
+ ------------
70
+ bake only searches for lint-nt.exe
71
+ +++++++++++++++++++++++++++++++++++
72
+ **Issue:**
73
+ bake currently does not search for all possible names of the lint application, it only searches for a file called *lint-nt.exe*.
74
+
75
+ **Solution:**
76
+ If you have another lint command (e.g. because you are using flexe lint on unix)
77
+ just create an symlink/alias which is called *lint-nt.exe*.
78
+
79
+ Lint fails due to missing compiler includes and defines
80
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
81
+ **Issue:**
82
+ Lint will fail if compiler internal includes and defines are missing.
83
+
84
+ **Solution:**
85
+
86
+ Lint comes with some helper files, handle this issue. In order to get a list of all needed
87
+ helper files e.g. for GCC, use the following command.
88
+
89
+ .. code-block:: console
90
+
91
+ User@Host:~$ make -f .../PcLint/../lnt/co-gcc.mak
92
+
93
+ You will get a output like this:
94
+
95
+ .. code-block:: text
96
+
97
+ gcc-include-path.lnt, lint_cmac.h, lint_cppmac.h and size-options.lnt.
98
+
99
+ You can now add the needed includes and LintPolicies (.lnt files) to your bake
100
+ configuration.
101
+
102
+ Lint error due to too many includes
103
+ +++++++++++++++++++++++++++++++++++
104
+
105
+ **Issue:**
106
+ In rare cases lint has problems if it has to open too many (include) files.
107
+
108
+ **Solution:**
109
+ You can use the *--lint_max* and the *--lint_min* options to get around this issue.
110
+
111
+ Example:
112
+
113
+ .. code-block:: console
114
+
115
+ User@Host:~$ bake Debug -p MyLibraryProject --lint --lint_max 50 #(lints the first 51 files)
116
+ User@Host:~$ bake Debug -p MyLibraryProject --lint --lint_min 51 --lint_max 100 #(lints the next 50 files)
117
+ User@Host:~$ bake Debug -p MyLibraryProject --lint --lint_min 101 #(lints the rest of the files)
118
+
119
+
120
+ .. Clang Analyze
121
+ .. *************
122
+