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,34 @@
1
+ The build hierarchy
2
+ ===================
3
+
4
+ Build graph
5
+ ***********
6
+
7
+ Depending on the contents of the Project.meta files, a build graph will be generated:
8
+ * An ExecutableConfig usually specifies files to compile, dependencies to other projects and linker stuff.
9
+ * A LibraryConfig usually specifies files to compile and archive.
10
+ * A CustomConfig usually defines a custom step.
11
+
12
+ Every config type can be equipped with pre and post steps like shell commands or makefiles.
13
+
14
+ All these steps will be combined to a build graph.
15
+
16
+ Example
17
+ *******
18
+
19
+ The main project has dependencies to the projects A, B and C:
20
+
21
+ .. image:: ../_static/bake_build_hierachy.png
22
+ :width: 100 %
23
+ :scale: 50 %
24
+
25
+ Steps are executed bottom-up. If one step fails, all steps above won't be executed.
26
+
27
+ If e.g.
28
+ * PreStepMain 2 fails
29
+ * at least one file of library B does not compile
30
+ then
31
+ * library B will not be created
32
+ * files of the main project will not be compiled
33
+ * main project will not be linked
34
+ * post step of main project will not be executed
@@ -0,0 +1,11 @@
1
+ Concepts
2
+ ==========
3
+
4
+ .. toctree::
5
+ :maxdepth: 2
6
+
7
+
8
+ the_project_meta_file
9
+ the_main_project
10
+ build_hierarchy
11
+
@@ -0,0 +1,45 @@
1
+ The main project
2
+ ================
3
+ The concept of the main project is different to many other build systems like Eclipse CDT.
4
+ In these build systems everything which is needed for a project is configured in the project itself.
5
+ In bake the main project can predefine stuff for all subprojects.
6
+ The main project can have a DefaultToolchain definition, which is valid for all projects and files referenced by the main project. Subprojects can overwrite or adjust these definitions.
7
+
8
+ Projects are always built in context of the main project.
9
+
10
+ To build a project, you have to specify
11
+
12
+ * the main project
13
+ * the config of the main project which references the project to build
14
+ * the (sub)project to build if applicable
15
+
16
+ Advantages
17
+ **********
18
+
19
+ Reducing the number of build configurations (toolchain settings like debug or release flags can be set outside of the project)
20
+ Most projects do not have any compiler definitions anymore
21
+ Only flags which must be used or flags which must not be used have to be specified in the projects
22
+ Changing compiler definitions for all projects can be done easily in the main project build configuration
23
+
24
+ Example
25
+ *******
26
+
27
+ ============================================== ==============================================
28
+ Project.meta of Main (Debug and Release) Project.meta of Sub (only one build config!)
29
+ ============================================== ==============================================
30
+ .. literalinclude:: ../_static/Main.meta .. literalinclude:: ../_static/Lib.meta
31
+ ============================================== ==============================================
32
+
33
+ .. note::
34
+
35
+ A main project must have a DefaultToolchain - but it's allowed to leave that definition empty.
36
+
37
+ Output directory
38
+ ****************
39
+
40
+ A project in a specific build configuration can be build in different contexts.
41
+ That's why the output directory of a project cannot be simply the build configuration name of the project to avoid inconsistencies.
42
+ Therefore the output directory names are.
43
+
44
+ * Main project: $(MainConfigName) like in regular Eclipse CDT builds
45
+ * Subprojects: $(MainConfigName)_$(MainProjectName) instead of the config name of the subproject
@@ -0,0 +1,72 @@
1
+ The Project.meta file
2
+ =====================
3
+
4
+ What is the Project.meta file
5
+ *****************************
6
+ The `Project.meta` file is bakes configuration file.
7
+
8
+ * Every project has a Project.meta file in the project root directory.
9
+ * A Project.meta file contains one or more build configurations.
10
+ * A build configuration consists of toolchain settings, files to build, custom steps, etc.
11
+
12
+ Example
13
+ *******
14
+
15
+ ============================================= =============================================
16
+ Project.meta file of Main project Project.meta file of Sub project
17
+ ============================================= =============================================
18
+ .. literalinclude:: ../_static/PMetaMain.meta .. literalinclude:: ../_static/PMetaSub.meta
19
+ ============================================= =============================================
20
+
21
+ Let's assume that Main and Sub are located in the same workspace root.
22
+ To build the executable, bake can be called from the Main directory.
23
+
24
+ .. code-block:: console
25
+
26
+ User@Host:~/my_project$ bake -b Debug
27
+
28
+ What happens now?
29
+
30
+ #. Reading Project.meta of Main
31
+ #. Reading Project.meta of dependencies (Sub)
32
+ #. Compiling sources of Sub, e.g.:
33
+ .. code-block:: console
34
+
35
+ User@Host:~$ g++ -c -Wall -g3 -Iinclude -I../Main/include -o Debug_Main/src/xy.o src/xy.cpp
36
+
37
+ * Wall is taken from the DefaultToolchain and -g3 is added by the toolchain of the Sub project.
38
+
39
+ * The include path to Main is automatically adjusted.
40
+
41
+ * The order of includes is the same as in Project.meta.
42
+
43
+ * g++, -c and -I are used, because GCC was specified in the DefaultToolchain.
44
+
45
+ #. Archiving the library, e.g.:
46
+
47
+ .. code-block:: console
48
+
49
+ User@Host:~$ ar -rc Debug_Main/libSub.a Debug_Main/src/xy.o
50
+
51
+ #. Compiling sources of Main, e.g.:
52
+
53
+ .. code-block:: console
54
+
55
+ User@Host:~$ g++ -c -Wall -Iinclude -o Debug/src/main.o src/main.cpp
56
+
57
+ #. Linking executable, e.g.:
58
+
59
+ .. code-block:: console
60
+
61
+ User@Host:~$ g++ -o Debug/Main.exe Debug/src/main.o ../Sub/Debug_Main/libSub.a -L../Sub/lib -la -lb
62
+
63
+ The library search paths and libraries are added in the specified order.
64
+
65
+ #. Executing the post step
66
+
67
+ .. code-block:: console
68
+
69
+ User@Host:~$ echo Main.exe built.
70
+
71
+ The variable was automatically substituted.
72
+
@@ -0,0 +1,24 @@
1
+ Eclipse
2
+ =======
3
+
4
+ .. toctree::
5
+ :maxdepth: 1
6
+
7
+ how_to_install_eclipse_plugin
8
+ how_to_use_bake_in_eclipse
9
+ how_to_convert_existing_cdt_workspace
10
+ how_to_create_a_workspace_in_eclipse
11
+ how_to_create_a_new_project_in_eclipse
12
+
13
+ Syntax highlighting
14
+ *******************
15
+
16
+ To enable syntax highlighting for the Project.meta files in Eclipse, install the "rtext_eclipse_plugin" (Help->Install New Software...) and associate ".meta" files with the rtext editor (Window->Preferences, File Associations page).
17
+ An update site for Eclipse (needed for installation) will be provided soon. For now, you can download it manually at github.
18
+
19
+ Key bindings
20
+ ************
21
+
22
+ It is possible to bind the bake commands to keys:
23
+
24
+ .. image:: ../../_static/keys.png
@@ -0,0 +1,31 @@
1
+ How to convert existing CDT workspaces
2
+ ======================================
3
+ You only need to convert your workspace if CDT is still used to build your projects and the `Project.meta` files do not exist yet.
4
+ Only one developer in a team has to convert the workspace only once!
5
+ Conversion means, that Project.meta files are generated and filled with the informationen from the `.project` and `.cproject`
6
+ files. bake does not read the `.project` and `.cproject` files, only the `Project.meta` files.
7
+
8
+ The converter is an export wizard, which can be found under `File->Export` or in the context menu of the Project Explorer
9
+
10
+ ========================================= =======================================
11
+ .. image:: ../../_static/SelectExport.png .. image:: ../../_static/Script.png
12
+ ========================================= =======================================
13
+
14
+ .. note::
15
+
16
+ * The conversion is not a 1:1 conversion. That means, that the tool can only be 99% perfect. There might by some small issues, which have to be adapted manually. You can find it out by simply trying to build your project with bake.
17
+
18
+ * It is possible to specify a ruby script in the wizard window, which can do these manual adaptions. This can make sense, if you want to convert the workspace several times before completely switching to bake.
19
+
20
+ * To convert only a subset of projects instead of the whole workspace, select the appropriate projects in the Project Explorer before starting the export wizard. Ensure that the checkbox shown above is marked.
21
+
22
+ * If you are satisfied with the results, replace the .cproject and .project files in your repository. (Steps to do with .cproject and .project files)
23
+ * Delete the files
24
+ * Remove the projects from your workspace in Eclipse (but do not delete the contents from your disk)
25
+ * Import the projects again via the bake import wizard to generate wrapper files for Eclipse
26
+ * Commit the change to your source control system
27
+
28
+ .. warning::
29
+ Do not commit these `.projec`t and `.cproject` files anymore. Instead, commit the changes in `Project.meta` files.
30
+ You still need `.cproject` and `.project` files for working under Eclipse,
31
+ that's why you have to import the projects again via the bake import wizard.
@@ -0,0 +1,18 @@
1
+ How to create a new project in Eclipse
2
+ ======================================
3
+ This is very easy. Navigate to `File->New->Other` and choose bake Project.
4
+
5
+ ========================================= =======================================
6
+ .. image:: ../../_static/SelectNew.png .. image:: ../../_static/New.png
7
+ ========================================= =======================================
8
+
9
+ Choose a name. If you have more than one workspace root, you can also choose a location.
10
+
11
+
12
+
13
+ ========================================= ===========================================================================
14
+ .. image:: ../../_static/Result.png A new folder with three files will be created. `.cproject` and `.project`
15
+ wrapper files for Eclipse and an almost.
16
+ empty `Project.meta` which can be filled with build configurations.
17
+ ========================================= ===========================================================================
18
+
@@ -0,0 +1,27 @@
1
+ How to create a workspace in Eclipse
2
+ ====================================
3
+
4
+ Using bake in Eclipse is very similar compared to the :any:`CDT build mechanism <how_to_convert_existing_cdt_workspace>`.
5
+
6
+ .. warning::
7
+ One major difference is, that `.cproject` and `.project` files are just wrappers. Do not use the standard property pages,
8
+ they will be simply ignored! Edit only the `Project.meta` files.
9
+ The `.cprojec`t and `.project` files shall not be committed to your source control.
10
+
11
+ Import
12
+ ******
13
+
14
+ If you have a workspace with no `.cproject` and `.project` files, but `Project.meta` files, you can import them to Eclipse.
15
+ You can also use the importer to import single projects.
16
+ The importer can be found unter `File->Import` or in the context menu of the Project Explorer.
17
+ All (sub)directories with a `Project.meta` are listed here. Choose the projects to import and press Finish.
18
+
19
+ ========================================= =======================================
20
+ .. image:: ../../_static/SelectImport.png .. image:: ../../_static/Import.png
21
+ ========================================= =======================================
22
+
23
+ .. note::
24
+ Note, that `.cproject` and `.project` files will not be overwritten per default. If e.g. a project is not a c-project,
25
+ some bake features will not available. In this case, enable the recreate option.
26
+ This is also a good idea, if you want to get rid of old configurations.
27
+
@@ -0,0 +1,44 @@
1
+ How to install bake Eclipse integration
2
+ =======================================
3
+
4
+ The bake Eclipse integration plugin is available on a E.S.R.Labs update site. Please follow the steps below to install the plugin.
5
+
6
+ #. Go to "Help" -> "Install New Software"
7
+
8
+ .. image:: ../../_static/InstallNewSoftware.png
9
+ :width: 100 %
10
+ :scale: 50 %
11
+
12
+ #. Setup the update site
13
+
14
+ `<http://www.esrlabs.com/eclipse-plugins/com.esrlabs.eclipse.bake.updatesite/>`_
15
+
16
+ .. image:: ../../_static/AddRepository.png
17
+ :width: 100 %
18
+ :scale: 50 %
19
+
20
+ #. Select the bake Feature
21
+
22
+ .. image:: ../../_static/AvailableSoftware.png
23
+ :width: 100 %
24
+ :scale: 50 %
25
+
26
+
27
+ #. Accept the license after reading it
28
+
29
+ .. image:: ../../_static/Licenses.png
30
+ :width: 100 %
31
+ :scale: 50 %
32
+
33
+ #. Ignore the security warning - you can trust the software
34
+
35
+ .. image:: ../../_static/TrustMe.png
36
+ :width: 100 %
37
+ :scale: 50 %
38
+
39
+ #. After successfull installation, restart Eclipse
40
+
41
+ .. image:: ../../_static/Restart.png
42
+ :width: 100 %
43
+ :scale: 50 %
44
+
@@ -0,0 +1,86 @@
1
+ How to use bake in Eclipse
2
+ ==========================
3
+
4
+ Choose the C/C++ perspective
5
+ ****************************
6
+
7
+ The menu items described on this page only appear in the C/C++ perspective.
8
+
9
+ Select a build configuration of the main project
10
+ ************************************************
11
+
12
+ #. Right click on the main project and select a bake build configuration.
13
+
14
+ .. image:: ../../_static/FirstSelect.png
15
+ :width: 100 %
16
+ :scale: 50 %
17
+
18
+ .. note::
19
+
20
+ * That only configurations with a DefaultToolchain will be displayed.
21
+
22
+ #. If no Project.meta or configuration with a DefaultToolchain exist, an error item will be displayed like this
23
+
24
+ .. image:: ../../_static/WrongSelect.png
25
+ :width: 100 %
26
+ :scale: 50 %
27
+
28
+ #. The chosen config is marked with a filled circle before the config name.You can also see it directly in the project explorer
29
+
30
+ .. image:: ../../_static/SecondSelect.png
31
+ :width: 100 %
32
+ :scale: 50 %
33
+
34
+ .. note::
35
+
36
+ * This label decoration can be switched off and on via Window->Preferences->General->Appearance->Label Decoration
37
+
38
+ Adjust includes and defines for CDT
39
+ ***********************************
40
+ s you might have already seen, a new menu item for the main project is enabled now: Adjust includes and defines for CDT.
41
+ All CDT features work out-of-the-box except those about the `#include` and `#define` statements e.g. auto-completion of includes.
42
+ To import the includes and defines into the CDT .cproject files, simply click on this menu item.
43
+
44
+ Compiler internal includes and defines must be specified in InternalInclude and InternalDefine files.
45
+ See "Syntax" help page how to set the name of these files. Note, that the variables CPPPath, CPath, ASMPath,
46
+ ArchiverPath and LinkerPath can be used in these files.
47
+
48
+ Adjusting can take between a few seconds and a minute depending on the size of the workspace and the number of
49
+ project settings which have to be written.
50
+
51
+ Build/Clean Projects/Files
52
+ **************************
53
+ Now you can build or clean a project by clicking on the appropriate menu items.
54
+
55
+ ========================================= =======================================
56
+ Project File
57
+ ========================================= =======================================
58
+ .. image:: ../../_static/buildMain.png .. image:: ../../_static/buildFile.png
59
+ ========================================= =======================================
60
+
61
+ .. note::
62
+ * Build File always rebuilds the file
63
+
64
+ Result
65
+ ******
66
+
67
+ The result of the build will be shown in the Console and Problems View as usual
68
+
69
+ .. image:: ../../_static/console.png
70
+ :width: 100 %
71
+ :scale: 50 %
72
+
73
+ .. image:: ../../_static/problem.png
74
+ :width: 100 %
75
+ :scale: 50 %
76
+
77
+
78
+ Preferences
79
+ ***********
80
+
81
+ Via `Window->Preferences->bake` some settings can be changed and the bake command line can be extended
82
+
83
+ .. image:: ../../_static/pref.png
84
+ :width: 100 %
85
+ :scale: 50 %
86
+
@@ -0,0 +1,8 @@
1
+ IDE Support
2
+ ===========
3
+
4
+ .. toctree::
5
+ :maxdepth: 2
6
+
7
+ eclipse/eclipse
8
+ vs/vs
@@ -0,0 +1,15 @@
1
+ How to create VS-Projects using bake
2
+ ====================================
3
+
4
+ bake projects are Makefile projects (NMake). When creating a new project, you can just create a new Makefile project and add a Project.meta.
5
+ The recommended way is to use a script which comes with bake-toolkit:
6
+
7
+ .. image:: ../../_static/cvsp.png
8
+ :width: 100 %
9
+ :scale: 50 %
10
+
11
+ Example:
12
+
13
+ .. code-block:: console
14
+
15
+ C:\MyProj> createVSProjects --version 2012 --rewrite_solution
@@ -0,0 +1,35 @@
1
+ How to Debug in Visual Studio
2
+ =============================
3
+
4
+ Natively you can only debug the output from the Microsoft VC compiler with Visual Studio. There are some plugins available for e.g. debugging gcc output. Another option is to use the MSVC toolchain from bake, which is described on this help page.
5
+ Add debug flags to the MSVC toolchain:
6
+
7
+
8
+ .. code-block:: text
9
+
10
+ DefaultToolchain MSVC {
11
+
12
+ Compiler CPP {
13
+ Flags "-Zi"
14
+ }
15
+ Linker {
16
+ Flags "-Debug"
17
+ }
18
+ }
19
+
20
+ Start Visual Studio with e.g. a batch file shown below and choose the appropriate solution. If you don't have a solution yet, check out How to create a solution / projects in Visual Studio.
21
+
22
+ .. code-block:: console
23
+
24
+ set PATH=%PATH%;C:\tools\Microsoft Visual Studio 11.0\VC\bin
25
+ call "C:\tools\Microsoft Visual Studio 11.0\VC\vcvarsall.bat"
26
+ "C:\tools\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
27
+
28
+ This adds the compiler, linker, etc. to the path. vcvarsall.bat setups the environment and the last line starts Visual Studio. As a test, just execute the first two lines and check if "cl.exe" can be executed without any errors. In Visual Studio, you have to define the executable you like to debug. Add the executable in the project properties:
29
+
30
+ .. image:: ../../_static/vs_debug.png
31
+ :width: 100 %
32
+ :scale: 50 %
33
+
34
+ You can also define command line arguments here.
35
+ Start debugging as usual...