bake-toolkit 2.11.2 → 2.11.3

Sign up to get free protection for your applications and to get access to all the features.
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
+