bake-toolkit 2.11.2 → 2.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,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,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
|
+
|