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.
- checksums.yaml +4 -4
- data/documentation/_build/html/_images/AddRepository.png +0 -0
- data/documentation/_build/html/_images/AvailableSoftware.png +0 -0
- data/documentation/_build/html/_images/FirstSelect.png +0 -0
- data/documentation/_build/html/_images/Import.png +0 -0
- data/documentation/_build/html/_images/InstallNewSoftware.png +0 -0
- data/documentation/_build/html/_images/Licenses.png +0 -0
- data/documentation/_build/html/_images/New.png +0 -0
- data/documentation/_build/html/_images/Restart.png +0 -0
- data/documentation/_build/html/_images/Result.png +0 -0
- data/documentation/_build/html/_images/Script.png +0 -0
- data/documentation/_build/html/_images/SecondSelect.png +0 -0
- data/documentation/_build/html/_images/SelectExport.png +0 -0
- data/documentation/_build/html/_images/SelectImport.png +0 -0
- data/documentation/_build/html/_images/SelectNew.png +0 -0
- data/documentation/_build/html/_images/TrustMe.png +0 -0
- data/documentation/_build/html/_images/WrongSelect.png +0 -0
- data/documentation/_build/html/_images/bake_build_hierachy.png +0 -0
- data/documentation/_build/html/_images/bake_tagcloud.png +0 -0
- data/documentation/_build/html/_images/buildFile.png +0 -0
- data/documentation/_build/html/_images/buildMain.png +0 -0
- data/documentation/_build/html/_images/console.png +0 -0
- data/documentation/_build/html/_images/cvsp.png +0 -0
- data/documentation/_build/html/_images/cygwin_mount.png +0 -0
- data/documentation/_build/html/_images/cygwin_ruby.png +0 -0
- data/documentation/_build/html/_images/cygwin_tty.png +0 -0
- data/documentation/_build/html/_images/hier.png +0 -0
- data/documentation/_build/html/_images/keys.png +0 -0
- data/documentation/_build/html/_images/pref.png +0 -0
- data/documentation/_build/html/_images/problem.png +0 -0
- data/documentation/_build/html/_images/vs_2010_install.png +0 -0
- data/documentation/_build/html/_images/vs_debug.png +0 -0
- data/documentation/_build/html/_images/vs_error.png +0 -0
- data/documentation/_build/html/_images/vs_install1.png +0 -0
- data/documentation/_build/html/_images/vs_installed.png +0 -0
- data/documentation/_build/html/_images/vs_options.png +0 -0
- data/documentation/_build/html/_images/vs_select_config.png +0 -0
- data/documentation/_build/html/_images/vs_show_config.png +0 -0
- data/documentation/_build/html/_images/vs_update.png +0 -0
- data/documentation/_build/html/_images/vs_update_site.png +0 -0
- data/documentation/_build/html/_sources/changelog.txt +314 -0
- data/documentation/_build/html/_sources/commandline/commandline.txt +107 -0
- data/documentation/_build/html/_sources/concepts/build_hierarchy.txt +34 -0
- data/documentation/_build/html/_sources/concepts/concepts.txt +11 -0
- data/documentation/_build/html/_sources/concepts/the_main_project.txt +45 -0
- data/documentation/_build/html/_sources/concepts/the_project_meta_file.txt +72 -0
- data/documentation/_build/html/_sources/ide/eclipse/eclipse.txt +24 -0
- data/documentation/_build/html/_sources/ide/eclipse/how_to_convert_existing_cdt_workspace.txt +31 -0
- data/documentation/_build/html/_sources/ide/eclipse/how_to_create_a_new_project_in_eclipse.txt +18 -0
- data/documentation/_build/html/_sources/ide/eclipse/how_to_create_a_workspace_in_eclipse.txt +27 -0
- data/documentation/_build/html/_sources/ide/eclipse/how_to_install_eclipse_plugin.txt +44 -0
- data/documentation/_build/html/_sources/ide/eclipse/how_to_use_bake_in_eclipse.txt +86 -0
- data/documentation/_build/html/_sources/ide/ide_integrations.txt +8 -0
- data/documentation/_build/html/_sources/ide/vs/how_to_create_vs_projects.txt +15 -0
- data/documentation/_build/html/_sources/ide/vs/how_to_debug_in_vs.txt +35 -0
- data/documentation/_build/html/_sources/ide/vs/how_to_used_bake_in_vs.txt +35 -0
- data/documentation/_build/html/_sources/ide/vs/vs.txt +10 -0
- data/documentation/_build/html/_sources/ide/vs/vs_install.txt +43 -0
- data/documentation/_build/html/_sources/index.txt +34 -0
- data/documentation/_build/html/_sources/install/install_bake.txt +112 -0
- data/documentation/_build/html/_sources/internal.txt +50 -0
- data/documentation/_build/html/_sources/known_issues.txt +9 -0
- data/documentation/_build/html/_sources/license.txt +4 -0
- data/documentation/_build/html/_sources/performance/performance.txt +104 -0
- data/documentation/_build/html/_sources/quickstart/quickstart.txt +70 -0
- data/documentation/_build/html/_sources/syntax/derive_configs.txt +93 -0
- data/documentation/_build/html/_sources/syntax/project_meta_syntax.txt +19 -0
- data/documentation/_build/html/_sources/syntax/syntax.txt +10 -0
- data/documentation/_build/html/_sources/syntax/variable_substitutions.txt +175 -0
- data/documentation/_build/html/_sources/tips_and_tricks/how_to_use_bake_with_cygwin.txt +49 -0
- data/documentation/_build/html/_sources/tips_and_tricks/static_code_analysis.txt +122 -0
- data/documentation/_build/html/_sources/tips_and_tricks/the_bakery.txt +66 -0
- data/documentation/_build/html/_sources/tips_and_tricks/the_clang.txt +43 -0
- data/documentation/_build/html/_sources/tips_and_tricks/tips_and_tricks.txt +33 -0
- data/documentation/_build/html/_sources/why_bake/why_bake.txt +40 -0
- data/documentation/_build/html/_static/AddRepository.png +0 -0
- data/documentation/_build/html/_static/AvailableSoftware.png +0 -0
- data/documentation/_build/html/_static/FirstSelect.png +0 -0
- data/documentation/_build/html/_static/Import.png +0 -0
- data/documentation/_build/html/_static/InstallNewSoftware.png +0 -0
- data/documentation/_build/html/_static/Lib.meta +8 -0
- data/documentation/_build/html/_static/Licenses.png +0 -0
- data/documentation/_build/html/_static/Main.meta +26 -0
- data/documentation/_build/html/_static/New.png +0 -0
- data/documentation/_build/html/_static/PMetaMain.meta +15 -0
- data/documentation/_build/html/_static/PMetaSub.meta +15 -0
- data/documentation/_build/html/_static/Restart.png +0 -0
- data/documentation/_build/html/_static/Result.png +0 -0
- data/documentation/_build/html/_static/Script.png +0 -0
- data/documentation/_build/html/_static/SecondSelect.png +0 -0
- data/documentation/_build/html/_static/Select.png +0 -0
- data/documentation/_build/html/_static/SelectExport.png +0 -0
- data/documentation/_build/html/_static/SelectImport.png +0 -0
- data/documentation/_build/html/_static/SelectNew.png +0 -0
- data/documentation/_build/html/_static/TrustMe.png +0 -0
- data/documentation/_build/html/_static/WrongSelect.png +0 -0
- data/documentation/_build/html/_static/ajax-loader.gif +0 -0
- data/documentation/_build/html/_static/bake_build_hierachy.png +0 -0
- data/documentation/_build/html/_static/bake_tagcloud.png +0 -0
- data/documentation/_build/html/_static/basic.css +599 -0
- data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.css +1109 -0
- data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.min.css +9 -0
- data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap.css +6167 -0
- data/documentation/_build/html/_static/bootstrap-2.3.2/css/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootstrap-2.3.2/img/glyphicons-halflings-white.png +0 -0
- data/documentation/_build/html/_static/bootstrap-2.3.2/img/glyphicons-halflings.png +0 -0
- data/documentation/_build/html/_static/bootstrap-2.3.2/js/bootstrap.js +2287 -0
- data/documentation/_build/html/_static/bootstrap-2.3.2/js/bootstrap.min.js +6 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.css +476 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.css.map +1 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap-theme.min.css +5 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.css +6584 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.css.map +1 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/css/bootstrap.min.css +5 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.eot +0 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.svg +288 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.woff +0 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/js/bootstrap.js +2317 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/js/bootstrap.min.js +7 -0
- data/documentation/_build/html/_static/bootstrap-3.3.4/js/npm.js +13 -0
- data/documentation/_build/html/_static/bootstrap-sphinx.css +186 -0
- data/documentation/_build/html/_static/bootstrap-sphinx.js +162 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/amelia/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/cerulean/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/cosmo/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/cyborg/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/flatly/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/img/glyphicons-halflings-white.png +0 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/img/glyphicons-halflings.png +0 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/journal/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/readable/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/simplex/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/slate/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/spacelab/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/spruce/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/superhero/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-2.3.2/united/bootstrap.min.css +9 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/cerulean/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/cosmo/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/custom/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/cyborg/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/darkly/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/flatly/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.eot +0 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.svg +288 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.woff +0 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/journal/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/lumen/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/paper/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/readable/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/sandstone/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/simplex/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/slate/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/spacelab/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/superhero/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/united/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/bootswatch-3.3.4/yeti/bootstrap.min.css +7 -0
- data/documentation/_build/html/_static/buildFile.png +0 -0
- data/documentation/_build/html/_static/buildMain.png +0 -0
- data/documentation/_build/html/_static/comment-bright.png +0 -0
- data/documentation/_build/html/_static/comment-close.png +0 -0
- data/documentation/_build/html/_static/comment.png +0 -0
- data/documentation/_build/html/_static/console.png +0 -0
- data/documentation/_build/html/_static/cvsp.png +0 -0
- data/documentation/_build/html/_static/cygwin_mount.png +0 -0
- data/documentation/_build/html/_static/cygwin_ruby.png +0 -0
- data/documentation/_build/html/_static/cygwin_tty.png +0 -0
- data/documentation/_build/html/_static/doctools.js +263 -0
- data/documentation/_build/html/_static/down-pressed.png +0 -0
- data/documentation/_build/html/_static/down.png +0 -0
- data/documentation/_build/html/_static/file.png +0 -0
- data/documentation/_build/html/_static/hier.png +0 -0
- data/documentation/_build/html/_static/jquery-1.11.1.js +10308 -0
- data/documentation/_build/html/_static/jquery.js +4 -0
- data/documentation/_build/html/_static/js/jquery-1.11.0.min.js +4 -0
- data/documentation/_build/html/_static/js/jquery-fix.js +2 -0
- data/documentation/_build/html/_static/keys.png +0 -0
- data/documentation/_build/html/_static/minus.png +0 -0
- data/documentation/_build/html/_static/plus.png +0 -0
- data/documentation/_build/html/_static/pref.png +0 -0
- data/documentation/_build/html/_static/problem.png +0 -0
- data/documentation/_build/html/_static/pygments.css +63 -0
- data/documentation/_build/html/_static/searchtools.js +622 -0
- data/documentation/_build/html/_static/syntax.html +704 -0
- data/documentation/_build/html/_static/syntax_collection_meta.html +179 -0
- data/documentation/_build/html/_static/underscore-1.3.1.js +999 -0
- data/documentation/_build/html/_static/underscore.js +31 -0
- data/documentation/_build/html/_static/up-pressed.png +0 -0
- data/documentation/_build/html/_static/up.png +0 -0
- data/documentation/_build/html/_static/vs_2010_install.png +0 -0
- data/documentation/_build/html/_static/vs_debug.png +0 -0
- data/documentation/_build/html/_static/vs_error.png +0 -0
- data/documentation/_build/html/_static/vs_install1.png +0 -0
- data/documentation/_build/html/_static/vs_installed.png +0 -0
- data/documentation/_build/html/_static/vs_options.png +0 -0
- data/documentation/_build/html/_static/vs_select_config.png +0 -0
- data/documentation/_build/html/_static/vs_show_config.png +0 -0
- data/documentation/_build/html/_static/vs_update.png +0 -0
- data/documentation/_build/html/_static/vs_update_site.png +0 -0
- data/documentation/_build/html/_static/websupport.js +808 -0
- data/documentation/_build/html/changelog.html +735 -0
- data/documentation/_build/html/commandline/commandline.html +284 -0
- data/documentation/_build/html/concepts/build_hierarchy.html +204 -0
- data/documentation/_build/html/concepts/concepts.html +181 -0
- data/documentation/_build/html/concepts/the_main_project.html +260 -0
- data/documentation/_build/html/concepts/the_project_meta_file.html +288 -0
- data/documentation/_build/html/genindex.html +152 -0
- data/documentation/_build/html/ide/eclipse/eclipse.html +185 -0
- data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +208 -0
- data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +191 -0
- data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +198 -0
- data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +196 -0
- data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +256 -0
- data/documentation/_build/html/ide/ide_integrations.html +182 -0
- data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +171 -0
- data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +185 -0
- data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +190 -0
- data/documentation/_build/html/ide/vs/vs.html +170 -0
- data/documentation/_build/html/ide/vs/vs_install.html +202 -0
- data/documentation/_build/html/index.html +238 -0
- data/documentation/_build/html/install/install_bake.html +279 -0
- data/documentation/_build/html/internal.html +217 -0
- data/documentation/_build/html/known_issues.html +175 -0
- data/documentation/_build/html/license.html +236 -0
- data/documentation/_build/html/objects.inv +0 -0
- data/documentation/_build/html/performance/performance.html +373 -0
- data/documentation/_build/html/quickstart/quickstart.html +236 -0
- data/documentation/_build/html/search.html +174 -0
- data/documentation/_build/html/searchindex.js +1 -0
- data/documentation/_build/html/syntax/derive_configs.html +295 -0
- data/documentation/_build/html/syntax/project_meta_syntax.html +884 -0
- data/documentation/_build/html/syntax/syntax.html +181 -0
- data/documentation/_build/html/syntax/variable_substitutions.html +378 -0
- data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +203 -0
- data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +284 -0
- data/documentation/_build/html/tips_and_tricks/the_bakery.html +401 -0
- data/documentation/_build/html/tips_and_tricks/the_clang.html +201 -0
- data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +196 -0
- data/documentation/_build/html/why_bake/why_bake.html +241 -0
- data/lib/blocks/executable.rb +1 -1
- data/lib/common/version.rb +1 -1
- 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,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.
|
data/documentation/_build/html/_sources/ide/eclipse/how_to_create_a_new_project_in_eclipse.txt
ADDED
@@ -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,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...
|