bake-toolkit 2.24.6 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/bin/bake-doc +11 -11
  3. data/bin/bake-format +2 -2
  4. data/bin/bakeclean +32 -32
  5. data/bin/bakeqac +77 -6
  6. data/documentation/_build/html/_images/eclipse.png +0 -0
  7. data/documentation/_build/html/_images/emacs.png +0 -0
  8. data/documentation/_build/html/_images/notepad.png +0 -0
  9. data/documentation/_build/html/_images/vim.png +0 -0
  10. data/documentation/_build/html/_images/visualstudio-pro.png +0 -0
  11. data/documentation/_build/html/_sources/changelog.txt +10 -0
  12. data/documentation/_build/html/_sources/ide/ide_integrations.txt +40 -8
  13. data/documentation/_build/html/_sources/index.txt +1 -1
  14. data/documentation/_build/html/_sources/tips_and_tricks/qac.txt +159 -152
  15. data/documentation/_build/html/_static/eclipse.png +0 -0
  16. data/documentation/_build/html/_static/emacs.png +0 -0
  17. data/documentation/_build/html/_static/notepad.png +0 -0
  18. data/documentation/_build/html/_static/syntax.html +8 -1
  19. data/documentation/_build/html/_static/vim.png +0 -0
  20. data/documentation/_build/html/_static/visualstudio-pro.png +0 -0
  21. data/documentation/_build/html/changelog.html +12 -0
  22. data/documentation/_build/html/ide/ide_integrations.html +22 -20
  23. data/documentation/_build/html/index.html +5 -4
  24. data/documentation/_build/html/searchindex.js +1 -1
  25. data/documentation/_build/html/syntax/project_meta_syntax.html +8 -1
  26. data/documentation/_build/html/tips_and_tricks/qac.html +10 -3
  27. data/lib/bake/cache.rb +16 -28
  28. data/lib/bake/config/loader.rb +14 -24
  29. data/lib/bake/model/metamodel.rb +311 -307
  30. data/lib/bake/model/metamodel_ext.rb +33 -27
  31. data/lib/bake/subst.rb +4 -4
  32. data/lib/bake/toolchain/clang.rb +43 -44
  33. data/lib/bake/toolchain/clang_analyze.rb +30 -31
  34. data/lib/bake/toolchain/diab.rb +52 -53
  35. data/lib/bake/toolchain/gcc.rb +1 -1
  36. data/lib/bake/toolchain/gcc_env.rb +54 -55
  37. data/lib/bake/toolchain/greenhills.rb +51 -52
  38. data/lib/bake/toolchain/keil.rb +54 -55
  39. data/lib/bake/toolchain/lint.rb +19 -20
  40. data/lib/bake/toolchain/msvc.rb +57 -58
  41. data/lib/bake/toolchain/provider.rb +6 -3
  42. data/lib/bake/toolchain/ti.rb +50 -49
  43. data/lib/bakeqac/options/options.rb +2 -2
  44. data/lib/blocks/block.rb +4 -0
  45. data/lib/blocks/compile.rb +36 -19
  46. data/lib/common/version.rb +1 -1
  47. data/lib/format/bake_format.rb +1 -1
  48. data/lib/tocxx.rb +576 -558
  49. metadata +26 -2
@@ -70,7 +70,7 @@ z-index: 100;
70
70
  <span><span style="background-color:#EEEEEE;" class="show">
71
71
  &nbsp; &nbsp; <span class="mycomment"># Valid for all config types</span><br><br>
72
72
  &nbsp; &nbsp; <span class="help" onMouseover="showDescription()" onMouseout="notip()">Description</span> &#60;text&#62;<br>
73
- &nbsp; &nbsp; <span class="help" onMouseover="showIncludeDir()" onMouseout="notip()">IncludeDir</span> &#60;dir&#62;, <span class="help" onMouseover="showInherit()" onMouseout="notip()">inherit</span>: true|false, <span class="help" onMouseover="showInfix()" onMouseout="notip()">inject</span>: front|back<br>
73
+ &nbsp; &nbsp; <span class="help" onMouseover="showIncludeDir()" onMouseout="notip()">IncludeDir</span> &#60;dir&#62;, <span class="help" onMouseover="showInherit()" onMouseout="notip()">inherit</span>: true|false, <span class="help" onMouseover="showInfix()" onMouseout="notip()">inject</span>: front|back, <span class="help" onMouseover="showSystemInclude()" onMouseout="notip()">system</span>: true|false<br>
74
74
  &nbsp; &nbsp; <span class="help" onMouseover="showSet()" onMouseout="notip()">Set</span> &#60;variable&#62;, value: &#60;value&#62; | cmd: &#60;line&#62;, <span class="help" onMouseover="showEnv()" onMouseout="notip()">env</span>: true|false<br>
75
75
  &nbsp; &nbsp; <span class="help" onMouseover="showDependency()" onMouseout="notip()">Dependency</span> &#60;project&#62;,
76
76
  <span class="help" onMouseover="showDependencyConfig()" onMouseout="notip()">config</span>: &#60;name&#62;<br>
@@ -474,6 +474,13 @@ function showInfix() {
474
474
  ddrivetip("inject", "No","0..1","-",str)
475
475
  }
476
476
 
477
+ function showSystemInclude() {
478
+ str = 'If supported from the compiler, the system include flag will be used instead of the normal include flag.<br>'+
479
+ 'Example: in gcc "-isystem" instead of "-I" is used.<br>'+
480
+ 'Note: system include definition overrules normal include definition if both are defined.'
481
+ ddrivetip("system", "false","0..1","-",str)
482
+ }
483
+
477
484
  function showSet() {
478
485
  str = 'Sets a variable for this and all dependent projects.<br>'+
479
486
  'The variable can be a simple value or the result of a cmd, e.g. \"cat myVar.txt\".'
@@ -140,6 +140,18 @@
140
140
  <div class="section" id="changelog">
141
141
  <h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
142
142
  <dl class="docutils">
143
+ <dt>December 15, 2016 - bake-toolkit 2.25.0</dt>
144
+ <dd><ul class="first last simple">
145
+ <li>Changed (!): before this version, all &#8220;IncludeDir&#8221;s were evaluated prior to the &#8220;Dependency&#8221;s to calculate the include path string for the compiler. Now the line order
146
+ is taken into account. To get the same include path string as in 2.24.x, shift all &#8220;IncludeDir&#8221;s in front of the first &#8220;Dependency&#8221;.</li>
147
+ <li>Added: it is possible to mark an IncludeDir with &#8220;system: true&#8221;, which means that e.g. for gcc &#8220;-isystem&#8221; is used instead of &#8220;-I&#8221;. Very useful for third party libs.</li>
148
+ <li>Bugfix: qac: adapted parser to new gcc version strings. On some machines an incorrect CCT was chosen.</li>
149
+ <li>Bugfix: when building with &#8220;-p &lt;projectname&gt;&#8221;, bake has not only built &lt;projectname&gt;, but also all injected dependencies of &lt;projectname&gt;, which was not intended.</li>
150
+ <li>Added: qac: additional step to generate reports, activate it manually with &#8220;&#8211;qacstep report&#8221;, see documentation.</li>
151
+ <li>Cosmetic: Adapt.meta files are also cached now.</li>
152
+ <li>Temporary: cip bug workaround from 2.24.2 does not work, added some debug output to get more infos - sorry for the spam - will be removed soon.</li>
153
+ </ul>
154
+ </dd>
143
155
  <dt>December 5, 2016 - bake-toolkit 2.24.3</dt>
144
156
  <dd><ul class="first last simple">
145
157
  <li>Added: qac: if &#8220;&lt;mainConfigName&gt;Qac&#8221; is found in main project, it will be used instead of &#8220;&lt;mainConfigName&gt;&#8221;</li>
@@ -74,7 +74,7 @@
74
74
  <li class="toctree-l1"><a class="reference internal" href="../syntax/syntax.html">Syntax</a></li>
75
75
  <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
76
76
  <li class="toctree-l1 current"><a class="current reference internal" href="">IDE Support</a></li>
77
- <li class="toctree-l1"><a class="reference internal" href="../tips_and_tricks/tips_and_tricks.html">Tips and Tricks</a></li>
77
+ <li class="toctree-l1"><a class="reference internal" href="../tips_and_tricks/tips_and_tricks.html">Additional features</a></li>
78
78
  <li class="toctree-l1"><a class="reference internal" href="../performance/performance.html">Performance</a></li>
79
79
  <li class="toctree-l1"><a class="reference internal" href="../known_issues.html">Known Issues</a></li>
80
80
  <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
@@ -95,7 +95,10 @@
95
95
  <ul class="dropdown-menu localtoc"
96
96
  role="menu"
97
97
  aria-labelledby="dLabelLocalToc"><ul>
98
- <li><a class="reference internal" href="#">IDE Support</a></li>
98
+ <li><a class="reference internal" href="#">IDE Support</a><ul>
99
+ <li><a class="reference internal" href="#basic-integrations">Basic integrations</a></li>
100
+ </ul>
101
+ </li>
99
102
  </ul>
100
103
  </ul>
101
104
  </li>
@@ -141,26 +144,25 @@
141
144
  <h1>IDE Support<a class="headerlink" href="#ide-support" title="Permalink to this headline">¶</a></h1>
142
145
  <div class="toctree-wrapper compound">
143
146
  <ul>
144
- <li class="toctree-l1"><a class="reference internal" href="eclipse/eclipse.html">Eclipse</a><ul>
145
- <li class="toctree-l2"><a class="reference internal" href="eclipse/how_to_install_eclipse_plugin.html">How to install bake Eclipse integration</a></li>
146
- <li class="toctree-l2"><a class="reference internal" href="eclipse/how_to_use_bake_in_eclipse.html">How to use bake in Eclipse</a></li>
147
- <li class="toctree-l2"><a class="reference internal" href="eclipse/how_to_convert_existing_cdt_workspace.html">How to convert existing CDT workspaces</a></li>
148
- <li class="toctree-l2"><a class="reference internal" href="eclipse/how_to_create_a_workspace_in_eclipse.html">How to create a workspace in Eclipse</a></li>
149
- <li class="toctree-l2"><a class="reference internal" href="eclipse/how_to_create_a_new_project_in_eclipse.html">How to create a new project in Eclipse</a></li>
150
- <li class="toctree-l2"><a class="reference internal" href="eclipse/how_to_debug_in_eclipse.html">How to debug in Eclipse</a></li>
151
- <li class="toctree-l2"><a class="reference internal" href="eclipse/eclipse.html#syntax-highlighting">Syntax highlighting</a></li>
152
- <li class="toctree-l2"><a class="reference internal" href="eclipse/eclipse.html#key-bindings">Key bindings</a></li>
153
- </ul>
154
- </li>
155
- <li class="toctree-l1"><a class="reference internal" href="vs/vs.html">Visual Studio</a><ul>
156
- <li class="toctree-l2"><a class="reference internal" href="vs/vs_install.html">How to install bake Visual Studio integration</a></li>
157
- <li class="toctree-l2"><a class="reference internal" href="vs/how_to_used_bake_in_vs.html">How to use bake in Visual Studio</a></li>
158
- <li class="toctree-l2"><a class="reference internal" href="vs/how_to_create_vs_projects.html">How to create VS-Projects using bake</a></li>
159
- <li class="toctree-l2"><a class="reference internal" href="vs/how_to_debug_in_vs.html">How to Debug in Visual Studio</a></li>
160
- </ul>
161
- </li>
147
+ <li class="toctree-l1"><a class="reference internal" href="eclipse/eclipse.html">Eclipse</a></li>
148
+ <li class="toctree-l1"><a class="reference internal" href="vs/vs.html">Visual Studio</a></li>
162
149
  </ul>
163
150
  </div>
151
+ <p>The integrations for eclipse and visual studio are the ones that are
152
+ most used and best documented.</p>
153
+ <a class="reference external image-reference" href="eclipse/eclipse.html"><img alt="../_images/eclipse.png" src="../_images/eclipse.png" /></a>
154
+ <a class="reference external image-reference" href="vs/vs.html"><img alt="../_images/visualstudio-pro.png" src="../_images/visualstudio-pro.png" /></a>
155
+ <div class="section" id="basic-integrations">
156
+ <h2>Basic integrations<a class="headerlink" href="#basic-integrations" title="Permalink to this headline">¶</a></h2>
157
+ <p>The following integrations lack in features, documentation and
158
+ maturity compared to the above integrations. Still they provide you
159
+ with a starting point.</p>
160
+ <a class="reference external image-reference" href="http://github.com/gizmomogwai/bake-mode"><img alt="../_images/emacs.png" src="../_images/emacs.png" /></a>
161
+ <a class="reference external image-reference" href="https://github.com/sanastasiou/RTextNpp/releases"><img alt="../_images/notepad.png" src="../_images/notepad.png" /></a>
162
+ <a class="reference external image-reference" href="https://github.com/flxo/bake.vim"><img alt="../_images/vim.png" src="../_images/vim.png" /></a>
163
+ <p>The beautiful IDE icons are designed by <a class="reference external" href="https://www.squirrelmuffins.com">Kat On</a> and used under the
164
+ <a class="reference external" href="https://creativecommons.org/licenses/by/3.0">creative commons license v3.0</a>.</p>
165
+ </div>
164
166
  </div>
165
167
 
166
168
 
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
 
8
- <title>bake 2.24.3 &mdash; bake documentation</title>
8
+ <title>bake 2.25.0 &mdash; bake documentation</title>
9
9
 
10
10
  <link rel="stylesheet" href="_static/basic.css" type="text/css" />
11
11
  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -94,7 +94,7 @@
94
94
  <ul class="dropdown-menu localtoc"
95
95
  role="menu"
96
96
  aria-labelledby="dLabelLocalToc"><ul>
97
- <li><a class="reference internal" href="#">bake 2.24.3</a><ul>
97
+ <li><a class="reference internal" href="#">bake 2.25.0</a><ul>
98
98
  </ul>
99
99
  </li>
100
100
  </ul>
@@ -134,8 +134,8 @@
134
134
  <div class="row">
135
135
  <div class="col-md-12">
136
136
 
137
- <div class="section" id="bake-2-24-3">
138
- <h1>bake 2.24.3<a class="headerlink" href="#bake-2-24-3" title="Permalink to this headline">¶</a></h1>
137
+ <div class="section" id="bake-2-25-0">
138
+ <h1>bake 2.25.0<a class="headerlink" href="#bake-2-25-0" title="Permalink to this headline">¶</a></h1>
139
139
  <p>bake, building software <strong>fast</strong> and <strong>easy</strong>!</p>
140
140
  <table border="1" class="docutils">
141
141
  <colgroup>
@@ -190,6 +190,7 @@
190
190
  <li class="toctree-l1"><a class="reference internal" href="ide/ide_integrations.html">IDE Support</a><ul>
191
191
  <li class="toctree-l2"><a class="reference internal" href="ide/eclipse/eclipse.html">Eclipse</a></li>
192
192
  <li class="toctree-l2"><a class="reference internal" href="ide/vs/vs.html">Visual Studio</a></li>
193
+ <li class="toctree-l2"><a class="reference internal" href="ide/ide_integrations.html#basic-integrations">Basic integrations</a></li>
193
194
  </ul>
194
195
  </li>
195
196
  <li class="toctree-l1"><a class="reference internal" href="tips_and_tricks/tips_and_tricks.html">Additional features</a><ul>
@@ -1 +1 @@
1
- Search.setIndex({envversion:47,filenames:["changelog","commandline/commandline","concepts/build_hierarchy","concepts/concepts","concepts/inject","concepts/link_order","concepts/prebuild","concepts/the_main_project","concepts/the_project_meta_file","ide/eclipse/eclipse","ide/eclipse/how_to_convert_existing_cdt_workspace","ide/eclipse/how_to_create_a_new_project_in_eclipse","ide/eclipse/how_to_create_a_workspace_in_eclipse","ide/eclipse/how_to_debug_in_eclipse","ide/eclipse/how_to_install_eclipse_plugin","ide/eclipse/how_to_use_bake_in_eclipse","ide/ide_integrations","ide/vs/how_to_create_vs_projects","ide/vs/how_to_debug_in_vs","ide/vs/how_to_used_bake_in_vs","ide/vs/vs","ide/vs/vs_install","index","install/install_bake","internal","known_issues","license","performance/performance","quickstart/quickstart","syntax/adapt_configs","syntax/auto_adjustment","syntax/derive_configs","syntax/project_meta_syntax","syntax/syntax","syntax/variable_substitutions","tips_and_tricks/bakeclean","tips_and_tricks/dot","tips_and_tricks/how_to_use_bake_with_cygwin","tips_and_tricks/qac","tips_and_tricks/static_code_analysis","tips_and_tricks/the_bakery","tips_and_tricks/the_clang","tips_and_tricks/tips_and_tricks","why_bake/why_bake"],objects:{},objnames:{},objtypes:{},terms:{"0x00":24,"0x02":24,"0x3":0,"0xff":24,"1_5_1":38,"2p180":27,"2p95":[23,28],"3p0":27,"6p398":27,"7p352":27,"__all__":29,"__main__":29,"_dev":37,"_lintout":39,"_one_":42,"break":43,"byte":24,"case":[0,6,12,30,39],"class":4,"default":[0,1,12,23,28,32,38,40],"export":10,"float":38,"function":0,"import":[],"long":[0,19,27],"new":[],"return":[0,28,37],"static":[],"switch":[0,10,15,28,37,38,43],"throw":23,"true":[4,29,32],"try":[0,10],"while":23,abc:[1,29,34],abi:0,abl:[39,43],abort:[0,24,37],about:[0,15],abov:[0,2,6,10,26,29,31,38],absolut:0,absolute_path_to_working_dir:42,accept:[0,14],access:0,account:0,acf:38,action:26,activ:0,actual:23,adapt:[],add:[],addit:[19,26,27],addition:38,adjust:[],adjustcdt:0,adjustinclud:0,admin:[],adr:32,advantag:[],advis:26,after:[0,14,37,39,40],again:[0,10,27],algorithm:6,alia:[0,37,39],all:[0,1,2,6,7,12,13,15,26,29,31,32,36,37,39,40,41,42],allow:[0,1,7,31,34],allunittest:40,almost:11,alpha:41,alphabet:0,alreadi:15,also:[0,11,12,13,15,18,34,38],altern:38,alternativli:[],although:0,alwai:[0,7,13,15,32],ambigu:0,analys:0,analysi:[],analyz:[],ani:[7,18,26,35],annot:[0,19],anoth:[0,1,18,25,39],anotherfold:38,ansi:[1,37],anymor:[0,7,10,37],anyth:25,appear:15,append:[0,38],appli:[0,13,26,29,30,37,38],appropri:[0,6,10,15,18,38],april:0,apropri:23,ar470:0,archiv:[0,2,6,8,25,32,34],archiverpath:[0,15,34],aren:43,argument:[0,6,18,35],aris:26,around:39,arrai:32,arrow:13,articular:26,artifact:34,artifactnam:[0,8,31,32,34],artifactnamebas:[0,34],asm:[1,32],asmpath:[0,15,34],asscoat:39,assembl:[34,42],associ:[9,26],assum:[1,8,23],atom:21,attribut:[0,29,31],august:0,author:26,auto:[],autodir:0,automat:[0,8,13,30,38],avail:[0,4,6,12,14,18,21,38],avoid:[0,7,23,37,43],back:[4,32,38],background:37,backward:0,bake:[],bakeclean:[],bakeqac:[],bakeri:[],base:[0,6,31,34],basedon:32,basi:42,basic:[],bat:[18,37],batch:[0,18],becaus:[4,8,31,39,43],becom:0,been:[0,1,25,26],befor:[0,5,10,15],begin:0,behaviour:[0,6,38],below:[0,14,18,21],best:42,beteween:43,better:0,between:[0,15,43],big:43,bin:[0,18,34,37],binari:[0,26,37,39],bla:0,black:[1,28,37,40],blue:[32,40],bootload:34,bootloader_1:34,bootloaderupdat:30,both:[6,31],bottom:2,box:[13,15],broken:0,browser:23,bsp:40,bspabc:1,bspcorez6:0,bug:23,bugfix:0,build:[],build_:[0,35],built:[0,1,6,7,8,25,37,38,39,43],bundl:0,busi:26,cach:[0,28],calcul:[0,30,38],calcvar:34,call:[0,1,8,18,35,37,38,39,40,41],can:[],candriv:[0,34],cannot:[0,4,7,13],care:0,caus:[23,26],cc2j:0,ccsv5:0,cct:[0,38],cdt:[],certain:38,chang:[0,6,7,10,13,15,23,25,29,35],charact:[0,37],charg:26,check:[0,1,18,21,23,40,42],checkbox:10,checker:41,checkout:38,child:[29,31],choos:[],chosen:[0,15,38],cip:0,circl:15,circular:0,cl470:0,claim:26,clang:[],clang_analyz:[0,41],clean:[],cleanup:35,clear:0,clearer:0,clearn:0,click:[13,15,19,21],client:[0,31],clobber:0,close:[0,6],cmake:[],cmd:[0,32,34],cmdline:[0,32],code:[],code_st:0,collect:[],collectionmandatori:40,color:[0,1,23,28,37,38,40],color_schem:38,com:[14,21],combin:[0,2,38],come:[17,39],comma:[0,1,31],command:[0,2,6,9,15,18,19,24,28,29,32,34,37,38,39,40,43],commandlin:[],comment:[0,1,32,40],commit:[10,12,42],common7:18,compar:12,compat:[0,43],compil:[],complet:[0,6,10,15,39],complex:[],compon:[4,26],concaten:31,concret:4,condit:26,config:[],confignam:[0,34,39],configpkg:0,configur:[],confnam:34,confus:0,connect:[23,24,26],consecut:38,consequenti:26,consist:[0,8,26],consol:[0,1,15,37,40],contain:[8,26,30],content:[0,2,10,32,38],context:[4,7,10,12],contract:26,contrast:27,contributor:26,control:[10,12,29],conveni:[29,38],convers:[0,10],conversion_info:0,convert:[],copi:[0,6,26],copyright:26,corez6:0,corpor:26,correct:[0,37],correctli:[0,21,23],cosmet:0,could:0,cpath:[0,15,34],cplusplu:41,cpp:[1,7,8,18,28,29,31,32,39,41],cpppath:[0,15,34],cprojec:12,cproject:[10,11,12,15],cpu:27,crash:0,creat:[],createvsproject:[0,17],ctrl:[0,37],ctt:[],current:[0,1,6,32,34,35,39,40],cursor:[32,40],custom:[2,8,39],customconfig:[0,2,29,31,32,36,41],cxxproject:[0,26],cyan:36,cyclic:0,cygdriv:[13,37],cygwin:[],damag:26,darwin13:[23,28],data:[0,26],databas:38,deadcod:41,deal:26,debug:[],debug_info:7,debug_main:8,decemb:0,decor:15,def:[0,34],defaulttoolchain:[0,7,8,15,18,19,29,31,32,34,39,41],defin:[],definit:[0,5,7,34],delet:[0,10,25,35],deped:23,depenc:43,depend:[],dependend:43,deprec:0,deprect:0,deriv:[],derv:31,describ:[15,18],descript:[0,32,34,40],deselect:19,desgin:[],design:43,detail:28,detect:0,develop:[],devenv:18,diab:[0,29,31],diag_warn:0,dialog:[0,13],did:0,differ:[],dir:[0,32,34],direct:[0,26],directli:[6,15,34,38],directori:[],disabl:[0,19],discard:24,disclaim:26,disk:10,dismiss:38,displai:[0,15,19,32,40],distribut:[],doc:[0,39],docu:[0,32],document:[0,23,26,38,43],doe:[],don:[13,18,30,43],done:[0,7,13,28],dot:[],doubl:[21,32,40],download:[9,21],due:[],eabi:0,each:[0,26],earli:0,earlier:0,easi:[11,22,23,31,36,43],easier:[],easiest:[37,43],easili:[7,41,43],echo:8,eclips:[],eclipseord:[0,29,32],edit:[12,25,41],editor:9,either:[31,41],element:[29,30,31,32,40],elf:[0,34],ellips:36,els:[1,25],email:32,embrac:43,empti:[0,7,11,34,35],en_u:[23,38],enabl:[0,9,12,15],end:0,energi:43,enforc:38,english:23,ensur:[0,10],entir:43,env:[0,32],environ:[],environmentvari:[],equal:[0,34],equip:2,equival:26,error:[],escap:37,especi:0,esrlab:[14,21],etc:[8,18,34,37,38,39,42],evalu:[23,34],evalut:34,even:[0,26,35,39,43],event:26,everi:[0,2,8,39],everyth:7,exactli:[29,38],exampl:[],except:[0,6,15,24,28,32],exclud:[0,40],exclude_filt:0,excludefil:[0,32],execut:[0,2,6,8,13,18,25,39,42],executableconfig:[0,2,4,7,8,29,31,32,36,39,41],exemplari:26,exens:34,exist:[],exit:[0,28],exitstep:[0,32],expand:0,experiment:0,explicit:39,explicitli:[0,6,26],explor:[10,12,15],express:26,extend:[],extens:21,extern:[],externallibrari:[0,5,8,30,32],externallibrarysearchpath:[8,30,32],extrem:0,fact:39,fail:[],failur:43,fals:[0,32],fan:43,fast:[22,43],faster:27,featur:[12,14,15],februari:0,fetch:23,few:[0,6,15,38,43],file:[],filenam:[0,24,36],filesystem:35,fill:[10,11,15],filter:[0,32,38],find:10,finish:12,first:[0,1,18,30,31,38,39,40],fit:[26,43],fix:[0,27],flag:[0,7,8,18,31,32,39,41],flex:39,focu:43,folder:[0,1,6,11,30,35,38,39],follow:[6,13,14,21,26,28,30,31,34,37,39,41],follw:28,forget:13,form:26,format:[0,38,39],format_specif:39,forward:[0,31,39],found:[0,10,12,13,23,28,29,34,37,38],framework:38,free:26,from:[],front:[4,32],fstab:37,full:34,furnish:26,gcc:[0,7,8,13,18,29,31,34,38,39,41],gcc_env:0,gdb:13,gem:[0,23],gener:[],get:[],ghz:27,git:42,github:[0,9],given:24,gizmomogwai:0,glob:[0,6],gmock:38,goal:[],good:[12,26,43],googl:23,googletest:4,govern:26,grant:26,graphic:26,graphviz:36,greater:[0,24],green:[13,36],greenhil:0,gsub:23,gtest:38,had:0,hand:0,handl:[0,39],handler:37,happen:8,hard:[4,30,36,43],hardcod:0,hash:[32,40],have:[0,1,4,7,10,11,12,13,15,18,23,26,30,31,32,37,38,39,40,41,43],hdd:27,header:[],hello:34,helper:39,here:[0,12,18,29,43],herebi:26,hereinaft:26,hide:[0,6],high:31,higher:0,highest:0,highlin:23,hinder:43,hit:37,holder:26,hopefulli:0,host:[0,1,8,23,28,29,34,39],hostnam:34,hour:43,howev:[0,13,23,26,42],http:[14,21,36],idea:12,ignor:[0,12,14],ignore_cach:0,iinclud:[8,28],imag:36,imagin:41,immedi:0,impact:0,implement:4,impli:26,implicitli:31,improv:0,inc:[0,31],incident:26,includ:[],include_filt:0,include_path:0,includedir:[],inclus:0,incomplet:38,inconsist:[0,7],incorrect:42,incorrectli:0,independ:[0,38,40,43],indirect:[0,26],infix:0,info:[0,24,28,42],informationen:10,inherit:[],inject:[],input:0,instal:[],instead:[0,4,7,10,37,38,41],integr:[],intel:27,intend:0,intern:[],internaldefin:[0,15,32],internalinclud:[0,15,32],internat:23,interrupt:[26,37],introduc:0,invalid:[],invert:0,invok:41,issu:[],istal:23,item:[15,19],itself:7,januari:0,java:0,json:0,juli:0,junction:[],june:0,keep:32,keil:0,keyword:[0,29],kicker:43,kind:26,know:4,known:[],lab:[14,21,26],label:15,lake:26,larg:43,larger:[0,36],last:[0,18,19],latest:0,latter:[6,34],lc_all:23,ldebug:0,lead:0,lear:26,least:2,leav:[7,25],length:24,less:43,let:8,level:[0,4,29],liabil:26,liabl:26,lib2:36,lib:[0,4,7,8,32,34,37],lib_bootloader_debug:34,lib_some_debug:34,libpostfixflag:32,libprefixflag:32,librari:[],libraryconfig:[0,2,4,7,8,29,31,32,36,39],libsub:8,licens:[],life:34,lightweight:43,like:[0,1,2,7,15,18,21,23,29,30,31,34,37,39,41],limit:26,line:[0,6,15,18,19,24,26,29,32,34,37,38,39,40,43],link:[],link_onli:0,linker:[0,2,18,29,31,32,34],linkerpath:[0,15,34],linkerscript:[0,32],lint:[],lint_cmac:39,lint_cppmac:39,lint_max:0,lint_min:0,lintpolici:[32,39],linux:[0,42],list:[0,12,26,31,39,42],listen:[0,24],llvm:0,lnt:[0,39],load:[0,28],local:0,localhost:24,locat:[0,8,11],lock:0,logic:6,longer:0,look:[21,31,34,43],loss:26,lower:4,machin:0,made:[0,13],magic:0,mai:[0,6,37,38],main1:40,main2:40,main:[],mainconfignam:[0,7,34,38],mainproj:[1,40],mainprojectdir:[0,34,39],mainprojectnam:[0,7,34],maintain:43,maintanc:43,major:[6,12,32,37],mak:39,make:[0,4,6,10,23,37,39,43],makefil:[],mani:[],manipul:29,manual:[9,10,25],map:[],mapfil:32,mar:13,march:0,mark:[0,10,15,32,40],marker:0,match:[0,1,29],materi:26,matter:31,max:[0,39],maximum:[0,32],mcpp:38,mean:[10,29,41,43],mechan:12,mention:38,menu:[0,10,12,15,19],merchant:26,merg:[0,6,26,31],messag:[],met:26,meta:[],method:23,microsoft:18,might:[0,10,15,23,42],min:[0,27,39],mind:32,mingw:0,minimum:[0,32],minor:[0,32],minut:[15,28,43],misra:[0,38,39],miss:[],mix:29,mkdir:28,mmd:0,mock:[4,38],mode:[0,35,37],modif:26,modifi:26,modul:0,more:[],mount:13,mous:[32,40],move:[0,32,40],msvc:[0,18],multi:0,multipl:[],must:[0,5,6,7,13,15,26,37,39,40,43],mv7a8:0,my_comput:34,my_project:[8,28],myinclud:[],mylib:4,mylibraryproject:39,myproj:[0,1,17],myproject:34,myprojectnam:30,myspecialcollect:40,myvar:34,name:[0,1,6,7,11,13,15,23,24,29,30,32,34,38,39,40,41],narrow:38,nativ:[18,27],navig:11,nbsp:[32,40],ndebug:7,ndefault:40,necessari:[0,37,43],need:[0,4,6,7,9,10,27,30,34,38,39],neglig:26,nest:[],network:23,never:0,nevertheless:13,newer:37,newlib:6,next:[13,39],nice:38,nicer:0,nico:0,nicoretti:28,nil:23,nilclass:23,nmake:17,no_autodir:0,non:[0,6],none:[26,37],noninfring:26,note:[],noth:28,notic:26,novemb:0,now:[],number:[0,7,15,24,38],oathnam:0,object:[0,5,6],obtain:26,octob:0,off:[0,15,32],offici:0,often:[23,36,39],old:[0,12],omit:[0,1,6,40],onc:[10,31,40],onli:[],open:[0,6,23,39],opinion:43,opt:0,optim:[6,7],option:[],order:[],org:36,origin:[0,4,29,37,38,42],other:[0,2,6,7,11,13,19,26,30,34,39,43],otherwis:[0,13,26,38,39],our:[37,43],out:[0,1,10,15,18,26,38,40,42],output:[],outputdir:[0,32,34],outsid:[4,7],over:[0,32,40],overview:[],overwrit:[0,7,38],overwritten:[0,12],owner:26,packag:37,page:[0,9,12,15,18,38],paht:39,paket:24,paramet:[0,19,30,35,37,38,39],parent:[0,1,29,31,32],pars:29,parser:[0,23],part:[6,26,30,36,39,40],parti:[6,26],particular:26,pass:0,password:23,patch:[0,32],path:[],path_separ:0,pathnam:0,pathto:32,pattern:[0,1,32],pclint:39,peak:27,peopl:43,per:[0,12,23,38],perfect:10,perform:[],perman:37,permiss:26,permit:26,person:[26,32],personali:43,phisolophi:43,phrase:26,pictur:0,pipe:0,place:[0,39,41],plain:0,platform:[0,28,34,38],pleas:[14,21],plugin:[0,14,18,21],png:36,point:43,polici:32,port:24,portion:26,posix:37,possibl:[0,1,4,6,9,10,26,29,31,34,36,39,40,42],post:[2,8],poststep:[0,8,32],practic:42,pragma:39,pre:[],prebuild:[],predefin:[],prefer:[],prefix:[0,37],prepro:0,preproc_with_compil:0,press:12,prestep:[0,32,39],prestepmain:2,pretti:[31,43],preview:35,previou:0,primarybootloader2includ:30,print:[0,38,42],print_less:0,prioriti:[0,31,34],probabl:0,problem:[0,15,39],procedur:35,process:[0,26,43],procur:26,product:26,profit:26,program:[26,37],programm:37,progress:43,progressbar:[0,23],proj:0,projec:[10,34],project:[],projectdir:[0,34,39],projectnam:[0,34,39],projnam:34,properli:0,properti:[12,18],protect:23,prove:43,provid:[0,9,26,28,39,43],proxi:23,prqa:38,publish:26,puh:[],purpos:[26,43],put:31,qac:[0,38],qac_hom:[0,38],qac_rcf:0,qaccctpatch:0,qacdata:[0,38],qacdoc:[0,38],qacfilt:0,qacli:[0,38],qacnofilt:[0,38],qacnoformat:0,qacpp:[],qacrawformat:[0,38],qacretri:[0,38],qacstep:38,qaf:38,quickstart:[],quot:[32,40],raid:27,rake:0,ram:27,rare:[0,39],rather:43,raw:[0,37,38],rcf:[0,38],rdoc:23,reach:[0,38],read:[0,8,10,14,37,43],readi:28,real:[29,34],realli:[0,1],reanm:0,reason:[37,43],rebuild:[15,25,27,38],rebuilt:0,recogn:[0,30],recognit:0,recommend:17,recompil:0,recorgn:39,recreat:[0,12],rectangl:36,recurs:[0,31,35],red:36,redirect:39,redistribut:26,reduc:7,redund:0,refactor:25,refer:[0,6,7,30],referenc:[0,7,26,30],reformat:[0,38],refus:0,regardless:[0,29,39],regener:0,regular:[0,7,29,38,41],rel:[0,30,32],releas:[0,6,7,40],relev:6,reload:[0,28],remov:[],renam:[0,37],render:36,repetet:31,replac:[],report:0,repositori:[10,42],reproduc:26,requir:0,requiredbakevers:32,reserv:26,resourc:0,respons:32,rest:[24,39],restart:14,restrict:[0,26],result:[],retain:26,retri:[0,38],retriev:[],reus:0,revis:23,rework:0,rewrit:17,rfc:[],rgen:[0,23],rid:[12,37],right:[0,15,19,26,38],robust:0,root1:[1,40],root2:[1,40],root:[],rtext:[0,9,23],rtext_eclipse_plugin:9,rubi:[],ruby192:37,rubygem:[0,23],rule:[0,38],run:[0,13,23,27,37,40,43],same:[],satisfi:10,script:[0,6,10,17,32,43],scroll:0,search:[],sec:27,second:[0,15,38],secur:[14,41],see:[0,15,19,23,26,36,37,41,43],seem:42,seen:[0,15],select:[],sell:26,sens:10,sensit:0,separ:[0,1,26,31,39],seper:34,septemb:0,sequenc:37,server:21,servic:26,set:[],setup:[],sever:[0,1,10,24,31,40],shall:[4,6,12,26],shell:[2,37],shift:0,shortcut:0,should:[],show:[0,39],show_abs_path:0,show_config:0,show_doc:0,show_incs_and_def:0,show_licens:0,shown:[0,10,15,18,19,25,38],signal:37,similar:[12,38],simliar:41,simpli:[7,10,12,15,31,38],singl:[],site:[9,14,21],size:[15,39],skip:0,slash:[0,32],slightli:38,slow:0,small:10,softwar:[9,14,22,26,42],solut:[18,23,39],some:[0,6,10,12,15,18,26,38,39],someth:[0,1,34],sometim:43,soon:9,sort:0,sourc:[0,6,8,10,12,13,19,23,25,26,41],space:[0,32],special:[0,26,30],specifi:[0,1,2,6,7,8,10,15,19,29,32,38,39,40,42],spefici:[],spent:43,spider:13,src:[0,8,28],standard:12,start:[],startup:[0,27],startupcod:0,startupstep:[0,32],state:26,statement:[15,42],stdin:[0,37],stdout:38,step:[2,8,10,14,21,37,39,41,43],stick:43,still:[0,10],stop:[0,1,40],stoponfirsterror:0,store:0,straight:31,strategi:0,stream:0,strict:26,string:[0,32,34,40],structur:[28,36],stty:37,studio:[],stuff:[2,7,34],style:0,sub1:42,sub2:42,sub3:40,sub:[0,7,8,12,31],subcollect:40,subfold:[0,38],subject:26,sublicens:26,subprocess:37,subproject:7,subset:10,substanti:26,substitu:[],substitut:[0,8,26,32,34],subtag:0,success:0,successful:14,successfulli:[23,25,42],suitabl:13,suppli:39,supplier:6,support:[],suppress:[0,38,39],sure:[6,23,39],svn:42,swcabc:0,swcabcd:0,symbol:13,symlink:[],sync:[0,42],system:[0,7,10,23,27,34,37,39],tag:[0,6],take:[0,15,27,41,43],taken:[0,8],target:[0,32],team:10,templat:[0,38],term:26,test:[],testa:36,text:[32,36],than:[],thank:0,theconfig:34,thei:[6,12,29,35,43],them:[0,12,29,38],themselv:4,theori:26,theproject:34,therefor:[7,34,43],thi:[0,1,4,6,10,11,12,13,15,18,19,21,23,24,26,28,29,30,31,34,37,38,39,40,41,42,43],thing:38,think:43,third:[6,26,38],those:[6,15,43],though:[39,43],thread:[0,27],three:[6,11,32,38],through:43,ti_ar:0,ti_cl:0,ti_hom:0,time:[0,10,28,34],timeout:[0,38],tip:[],tms470:0,too:[],tool:[0,10,18,21,30,34,38,43],toolchain:[0,7,8,18,32,38,39],toolchain_info:0,toolchain_nam:0,toolchainnam:[0,34],toolkit:[0,17,23,40],toolsprqaprqa:[],top:29,tort:26,touch:25,tpng:36,treat:0,tred:36,tree:0,tri:[24,38],trick:[],trust:14,tty:37,turn:[0,6],two:[0,1,6,18,34,40],type:[],typic:[],typo:0,unchang:25,uncommon:1,undefin:23,under:[0,10,13],underscor:26,understand:[36,43],unfilt:38,uniniti:0,unintention:0,uniqu:40,unit:[0,38,40],unittest:[0,4,40],unittestlib:40,unittestlibswithoutbsp:40,unix:[],unknown:24,unless:[0,26],unlock:23,unnecessari:[],unter:12,until:38,updat:[0,9,14,21],updatesit:14,upper:4,upward:0,usag:34,user:[],userlibrari:[30,32],usr:34,usual:[1,2,15,18,34,43],usuali:23,valid:[0,7,30,31,32],validexitcod:[0,32],valu:[0,32,34],variabl:[],vcvarsal:18,verbos:0,veri:[0,11,12,23,27,31,40],version:[0,17,23,27,37,38,39,43],via:[0,10,15,19,21,29,37],view:15,violat:38,virtual:0,visibl:37,visual:[],vs2013:0,w3520:27,wai:[0,17,23,26,34,37,43],wait:43,wall:8,want:[0,1,6,10,12,28,29,41,43],warn:[],warn_sect:0,warranti:26,web:23,webpag:23,well:[0,39],were:[0,23,26],what:[],whatev:[7,30],when:[0,6,17,25,26,42],where:[0,43],whether:[26,43],which:[],white:37,whole:[0,10,26,27,36],whom:26,why:[],wildcard:[1,40],window:[0,9,10,15,19,27,34,37,42],wishlist:0,without:[18,25,26,27,29,34],wizard:[0,10],won:[2,39],word:0,work:[0,10,13,15,29,35,37,41,42],workaround:[0,25],workflow:[],workspac:[],world:34,would:[0,4,34],wrap:0,wrapper:[10,11,12,38],write:[0,29,30,38,41],writecc2j:0,written:[0,1,15],wrong:0,www:[14,21,36],wysiwyg:43,x86_64:[23,28],xeon:27,xml:[21,39],yesquant:40,yet:[10,18],you:[],your:[]},titles:["Changelog","Commandline","The build hierarchy","Concepts","Injection and inheritance of IncludeDir and Dependency","The link order","Prebuild configurations for distributions","The main project","The Project.meta file","Eclipse","How to convert existing CDT workspaces","How to create a new project in Eclipse","How to create a workspace in Eclipse","How to debug in Eclipse","How to install bake Eclipse integration","How to use bake in Eclipse","IDE Support","How to create VS-Projects using bake","How to Debug in Visual Studio","How to use bake in Visual Studio","Visual Studio","How to install bake Visual Studio integration","bake 2.24.3","Install bake","Internal developing notes","Known Issues","License","Performance","Quickstart","Adapt configs","Auto-adjustment of paths to existing projects","Derive configs","The Syntax of the Project.meta file","Syntax","Variables in Project.meta","bakeclean","Generating dot graphs","How to use bake with cygwin","QACPP","Static Code Analysis","The Bakery","Clang Analyze","Additional features","Why you should use bake"],titleterms:{"0x01":24,"0x0a":24,"import":[1,12],"new":11,"static":39,adapt:29,add:13,addit:[38,42],adjust:[15,30],admin:38,advantag:7,analysi:39,analyz:[38,41],applic:[1,13],arbitrari:1,auto:30,bake:[1,14,15,17,19,21,22,23,27,34,37,39,43],bakeclean:35,bakeqac:38,bakeri:40,basic:39,bind:9,build:[1,2,15,24],can:13,cdt:[10,15],changelog:0,choos:15,clang:41,clean:[1,15],cmake:27,code:[13,39],collect:40,commandlin:[1,40],compil:[13,39],complex:34,concept:3,config:[29,31],configur:[6,13,15,39],convert:10,creat:[11,12,13,17],cygwin:37,debug:[13,18],defin:[15,34,39],depend:4,deriv:31,desgin:43,develop:24,differ:27,differnt:1,directori:[1,7],distribut:6,doe:23,dot:36,due:39,dure:23,eclips:[9,11,12,13,14,15,27],effect:29,environ:[27,34],error:[23,24,39],exampl:[1,2,5,7,8,23,38,39],exist:[10,30],extend:29,extern:5,fail:39,featur:42,file:[1,8,15,32],from:1,gener:36,get:1,goal:43,graph:[2,36],header:24,help:1,hierarchi:2,highlight:9,how:[1,10,11,12,13,14,15,17,18,19,21,23,37,40],implic:31,includ:[15,39,42],includedir:4,inform:13,inherit:[4,31],inject:4,instal:[14,21,23],instruct:32,integr:[14,21],interact:32,intern:24,introduct:29,invalid:23,issu:[23,25,39],junction:42,just:1,kei:9,known:[23,25,39],languag:23,librari:5,licens:26,link:5,lint:39,main:[7,15],makefil:27,mani:39,map:13,messag:23,meta:[8,32,34,40],miss:39,more:1,most:1,multipl:31,nest:34,note:[24,34,38],now:13,occurr:29,onli:39,option:[1,38],order:5,output:[7,38],packet:24,path:[13,30],perform:27,perspect:15,pre:[],prebuild:6,predefin:34,prefer:15,project:[1,7,8,11,15,17,24,30,32,34],qacpp:38,quickstart:28,receiv:24,remov:29,replac:29,result:[15,27],root:1,rubi:27,same:5,search:39,select:15,send:24,set:23,setup:39,should:43,singl:1,socket:24,specif:1,start:[23,24],step:38,studio:[18,19,20,21],support:16,symlink:42,syntax:[9,32,33,40],test:27,than:1,tip:[],todo:[],too:39,trick:[],type:[24,29],typic:6,unix:27,unnecessari:42,user:34,variabl:34,view:38,viewer:32,visual:[18,19,20,21],warn:34,what:[8,40],which:1,why:43,within:1,without:38,workflow:6,workspac:[10,12],you:[13,43],your:13}})
1
+ Search.setIndex({envversion:47,filenames:["changelog","commandline/commandline","concepts/build_hierarchy","concepts/concepts","concepts/inject","concepts/link_order","concepts/prebuild","concepts/the_main_project","concepts/the_project_meta_file","ide/eclipse/eclipse","ide/eclipse/how_to_convert_existing_cdt_workspace","ide/eclipse/how_to_create_a_new_project_in_eclipse","ide/eclipse/how_to_create_a_workspace_in_eclipse","ide/eclipse/how_to_debug_in_eclipse","ide/eclipse/how_to_install_eclipse_plugin","ide/eclipse/how_to_use_bake_in_eclipse","ide/ide_integrations","ide/vs/how_to_create_vs_projects","ide/vs/how_to_debug_in_vs","ide/vs/how_to_used_bake_in_vs","ide/vs/vs","ide/vs/vs_install","index","install/install_bake","internal","known_issues","license","performance/performance","quickstart/quickstart","syntax/adapt_configs","syntax/auto_adjustment","syntax/derive_configs","syntax/project_meta_syntax","syntax/syntax","syntax/variable_substitutions","tips_and_tricks/bakeclean","tips_and_tricks/dot","tips_and_tricks/how_to_use_bake_with_cygwin","tips_and_tricks/qac","tips_and_tricks/static_code_analysis","tips_and_tricks/the_bakery","tips_and_tricks/the_clang","tips_and_tricks/tips_and_tricks","why_bake/why_bake"],objects:{},objnames:{},objtypes:{},terms:{"0x00":24,"0x02":24,"0x3":0,"0xff":24,"1_5_1":38,"2p180":27,"2p95":[23,28],"3p0":27,"6p398":27,"7p352":27,"__all__":29,"__main__":29,"_dev":37,"_lintout":39,"_one_":42,"break":43,"byte":24,"case":[0,6,12,30,39],"class":4,"default":[0,1,12,23,28,32,38,40],"export":10,"float":38,"function":0,"import":[],"long":[0,19,27],"new":[],"return":[0,28,37],"static":[],"switch":[0,10,15,28,37,38,43],"throw":23,"true":[0,4,29,32],"try":[0,10],"while":23,abc:[1,29,34],abi:0,abl:[39,43],abort:[0,24,37],about:[0,15,38],abov:[0,2,6,10,16,26,29,31,38],absolut:0,absolute_path_to_working_dir:42,accept:[0,14],access:0,account:0,acf:38,action:26,activ:0,actual:23,adapt:[],add:[],addit:[19,26,27],addition:38,adjust:[],adjustcdt:0,adjustinclud:0,admin:[],adr:32,advantag:[],advis:26,after:[0,14,37,39,40],again:[0,10,27],algorithm:6,alia:[0,37,39],all:[0,1,2,6,7,12,13,15,26,29,31,32,36,37,39,40,41,42],allow:[0,1,7,31,34],allunittest:40,almost:11,alpha:41,alphabet:0,alreadi:15,also:[0,11,12,13,15,18,34,38],altern:38,alternativli:[],although:0,alwai:[0,7,13,15,32],ambigu:0,analys:0,analysi:[],analyz:[],ani:[7,18,26,35],annot:[0,19],anoth:[0,1,18,25,39],anotherfold:38,ansi:[1,37],anymor:[0,7,10,37],anyth:25,appear:15,append:[0,38],appli:[0,13,26,29,30,37,38],appropri:[0,6,10,15,18,38],april:0,apropri:23,ar470:0,archiv:[0,2,6,8,25,32,34],archiverpath:[0,15,34],aren:43,argument:[0,6,18,35],aris:26,around:39,arrai:32,arrow:13,articular:26,artifact:34,artifactnam:[0,8,31,32,34],artifactnamebas:[0,34],asm:[1,32],asmpath:[0,15,34],asscoat:39,assembl:[34,42],associ:[9,26],assum:[1,8,23],atom:21,attribut:[0,29,31],august:0,author:26,auto:[],autodir:0,automat:[0,8,13,30,38],avail:[0,4,6,12,14,18,21,38],avoid:[0,7,23,37,43],back:[4,32,38],background:37,backward:0,bake:[],bakeclean:[],bakeqac:[],bakeri:[],base:[0,6,31,34],basedon:32,basi:42,basic:[],bat:[18,37],batch:[0,18],beauti:16,becaus:[4,8,31,39,43],becom:0,been:[0,1,25,26],befor:[0,5,10,15],begin:0,behaviour:[0,6,38],below:[0,14,18,21],best:[16,42],beteween:43,better:0,between:[0,15,43],big:43,bin:[0,18,34,37],binari:[0,26,37,39],bla:0,black:[1,28,37,40],blue:[32,40],bootload:34,bootloader_1:34,bootloaderupdat:30,both:[6,31],bottom:2,box:[13,15],broken:0,browser:23,bsp:40,bspabc:1,bspcorez6:0,bug:[0,23],bugfix:0,build:[],build_:[0,35],built:[0,1,6,7,8,25,37,38,39,43],bundl:0,busi:26,cach:[0,28],calcul:[0,30,38],calcvar:34,call:[0,1,8,18,35,37,38,39,40,41],can:[],candriv:[0,34],cannot:[0,4,7,13],care:0,caus:[23,26],cc2j:0,ccsv5:0,cct:[0,38],cdt:[],certain:38,chang:[0,6,7,10,13,15,23,25,29,35],charact:[0,37],charg:26,check:[0,1,18,21,23,40,42],checkbox:10,checker:41,checkout:38,child:[29,31],choos:[],chosen:[0,15,38],cip:0,circl:15,circular:0,cl470:0,claim:26,clang:[],clang_analyz:[0,41],clean:[],cleanup:35,clear:0,clearer:0,clearn:0,click:[13,15,19,21],client:[0,31],clobber:0,close:[0,6],cmake:[],cmd:[0,32,34],cmdline:[0,32],code:[],code_st:0,collect:[],collectionmandatori:40,color:[0,1,23,28,37,38,40],color_schem:38,com:[14,21],combin:[0,2,38],come:[17,39],comma:[0,1,31],command:[0,2,6,9,15,18,19,24,28,29,32,34,37,38,39,40,43],commandlin:[],comment:[0,1,32,40],commit:[10,12,42],common7:18,common:16,compar:[12,16],compat:[0,43],compil:[],complet:[0,6,10,15,39],complex:[],compon:[4,26],concaten:31,concret:4,condit:26,config:[],confignam:[0,34,39],configpkg:0,configur:[],confnam:34,confus:0,connect:[23,24,26],consecut:38,consequenti:26,consist:[0,8,26],consol:[0,1,15,37,40],contain:[8,26,30],content:[0,2,10,32,38],context:[4,7,10,12],contract:26,contrast:27,contributor:26,control:[10,12,29],conveni:[29,38],convers:[0,10],conversion_info:0,convert:[],copi:[0,6,26],copyright:26,corez6:0,corpor:26,correct:[0,37],correctli:[0,21,23],cosmet:0,could:0,cpath:[0,15,34],cplusplu:41,cpp:[1,7,8,18,28,29,31,32,39,41],cpppath:[0,15,34],cprojec:12,cproject:[10,11,12,15],cpu:27,crash:0,creat:[],createvsproject:[0,17],creativ:16,ctrl:[0,37],ctt:[],current:[0,1,6,32,34,35,39,40],cursor:[32,40],custom:[2,8,39],customconfig:[0,2,29,31,32,36,41],cxxproject:[0,26],cyan:36,cyclic:0,cygdriv:[13,37],cygwin:[],damag:26,darwin13:[23,28],data:[0,26],databas:38,deadcod:41,deal:26,debug:[],debug_info:7,debug_main:8,decemb:0,decor:15,def:[0,34],defaulttoolchain:[0,7,8,15,18,19,29,31,32,34,39,41],defin:[],definit:[0,5,7,34],delet:[0,10,25,35],deped:23,depenc:43,depend:[],dependend:43,deprec:0,deprect:0,deriv:[],derv:31,describ:[15,18],descript:[0,32,34,40],deselect:19,desgin:[],design:[16,43],detail:28,detect:0,develop:[],devenv:18,diab:[0,29,31],diag_warn:0,dialog:[0,13],did:0,differ:[],dir:[0,32,34],direct:[0,26],directli:[6,15,34,38],directori:[],disabl:[0,19],discard:24,disclaim:26,disk:10,dismiss:38,displai:[0,15,19,32,40],distribut:[],doc:[0,39],docu:[0,32],document:[0,16,23,26,38,43],doe:[],don:[13,18,30,43],done:[0,7,13,28],dot:[],doubl:[21,32,40],download:[9,21],due:[],eabi:0,each:[0,26],earli:0,earlier:0,easi:[11,22,23,31,36,43],easier:[],easiest:[37,43],easili:[7,41,43],echo:8,eclips:[],eclipseord:[0,29,32],edit:[12,25,41],editor:9,either:[31,41],element:[29,30,31,32,40],elf:[0,34],ellips:36,els:[1,25],email:32,embrac:43,empti:[0,7,11,34,35],en_u:[23,38],enabl:[0,9,12,15],end:0,energi:43,enforc:38,english:23,ensur:[0,10],entir:43,env:[0,32],environ:[],environmentvari:[],equal:[0,34],equip:2,equival:26,error:[],escap:37,especi:0,esrlab:[14,21],etc:[8,18,34,37,38,39,42],evalu:[0,23,34],evalut:34,even:[0,26,35,39,43],event:26,everi:[0,2,8,39],everyth:7,exactli:[29,38],exampl:[],except:[0,6,15,24,28,32],exclud:[0,40],exclude_filt:0,excludefil:[0,32],execut:[0,2,6,8,13,18,25,39,42],executableconfig:[0,2,4,7,8,29,31,32,36,39,41],exemplari:26,exens:34,exist:[],exit:[0,28],exitstep:[0,32],expand:0,experiment:0,explicit:39,explicitli:[0,6,26],explor:[10,12,15],express:26,extend:[],extens:21,extern:[],externallibrari:[0,5,8,30,32],externallibrarysearchpath:[8,30,32],extrem:0,fact:39,fail:[],failur:43,fals:[0,32],fan:43,fast:[22,43],faster:27,featur:[12,14,15],februari:0,fetch:23,few:[0,6,15,38,43],file:[],filenam:[0,24,36],filesystem:35,fill:[10,11,15],filter:[0,32,38],find:10,finish:12,first:[0,1,18,30,31,38,39,40],fit:[26,43],fix:[0,27],flag:[0,7,8,18,31,32,39,41],flex:39,focu:43,folder:[0,1,6,11,30,35,38,39],follow:[6,13,14,16,21,26,28,30,31,34,37,39,41],follw:28,forget:13,form:26,format:[0,38,39],format_specif:39,forth:38,forward:[0,31,39],found:[0,10,12,13,23,28,29,34,37,38],framework:38,free:26,from:[],front:[0,4,32],fstab:37,full:34,furnish:26,gcc:[0,7,8,13,18,29,31,34,38,39,41],gcc_env:0,gdb:13,gem:[0,23],gener:[],get:[],ghz:27,git:42,github:[0,9],given:24,gizmomogwai:0,glob:[0,6],gmock:38,goal:[],good:[12,26,43],googl:23,googletest:4,govern:26,grant:26,graphic:26,graphviz:36,greater:[0,24],green:[13,36],greenhil:0,gsub:23,gtest:38,had:0,hand:0,handl:[0,39],handler:37,happen:8,hard:[4,30,36,43],hardcod:0,hash:[32,40],have:[0,1,4,7,10,11,12,13,15,18,23,26,30,31,32,37,38,39,40,41,43],hdd:27,header:[],hello:34,helper:39,here:[0,12,18,29,43],herebi:26,hereinaft:26,hide:[0,6],high:31,higher:0,highest:0,highlin:23,hinder:43,hit:37,holder:26,hopefulli:0,host:[0,1,8,23,28,29,34,39],hostnam:34,hour:43,howev:[0,13,23,26,42],http:[14,21,36],icon:16,idea:12,ignor:[0,12,14],ignore_cach:0,iinclud:[8,28],imag:36,imagin:41,immedi:0,impact:0,implement:4,impli:26,implicitli:31,improv:0,inc:[0,31],incident:26,includ:[],include_filt:0,include_path:0,includedir:[],inclus:0,incomplet:38,inconsist:[0,7],incorrect:[0,42],incorrectli:0,independ:[0,38,40,43],indirect:[0,26],infix:0,info:[0,24,28,42],informationen:10,inherit:[],inject:[],input:0,instal:[],instead:[0,4,7,10,37,38,41],integr:[],intel:27,intend:0,intern:[],internaldefin:[0,15,32],internalinclud:[0,15,32],internat:23,interrupt:[26,37],introduc:0,invalid:[],invert:0,invok:41,issu:[],istal:23,isystem:0,item:[15,19],itself:7,januari:0,java:0,json:0,juli:0,junction:[],june:0,kat:16,keep:32,keil:0,keyword:[0,29],kicker:43,kind:26,know:4,known:[],lab:[14,21,26],label:15,lack:16,lake:26,larg:43,larger:[0,36],last:[0,18,19],latest:0,latter:[6,34],lc_all:23,ldebug:0,lead:0,lear:26,least:2,leav:[7,25],length:24,less:43,let:8,level:[0,4,29],liabil:26,liabl:26,lib2:36,lib:[0,4,7,8,32,34,37],lib_bootloader_debug:34,lib_some_debug:34,libpostfixflag:32,libprefixflag:32,librari:[],libraryconfig:[0,2,4,7,8,29,31,32,36,39],libsub:8,licens:[],life:34,lightweight:43,like:[0,1,2,7,15,18,21,23,29,30,31,34,37,39,41],limit:26,line:[0,6,15,18,19,24,26,29,32,34,37,38,39,40,43],link:[],link_onli:0,linker:[0,2,18,29,31,32,34],linkerpath:[0,15,34],linkerscript:[0,32],lint:[],lint_cmac:39,lint_cppmac:39,lint_max:0,lint_min:0,lintpolici:[32,39],linux:[0,42],list:[0,12,26,31,39,42],listen:[0,24],llvm:0,lnt:[0,39],load:[0,28],local:0,localhost:24,locat:[0,8,11],lock:0,logic:6,longer:0,look:[21,31,34,43],loss:26,lower:4,machin:0,made:[0,13],magic:0,mai:[0,6,37,38],main1:40,main2:40,main:[],mainconfignam:[0,7,34,38],mainproj:[1,40],mainprojectdir:[0,34,39],mainprojectnam:[0,7,34],maintain:43,maintanc:43,major:[6,12,32,37],mak:39,make:[0,4,6,10,23,37,39,43],makefil:[],mani:[],manipul:29,manual:[0,9,10,25],map:[],mapfil:32,mar:13,march:0,mark:[0,10,15,32,40],marker:0,match:[0,1,29],materi:26,matter:31,matur:16,max:[0,39],maximum:[0,32],mcpp:38,mean:[0,10,29,41,43],mechan:12,mention:38,menu:[0,10,12,15,19],merchant:26,merg:[0,6,26,31],messag:[],met:26,meta:[],method:23,microsoft:18,might:[0,10,15,23,42],min:[0,27,39],mind:32,mingw:0,minimum:[0,32],minor:[0,32],minut:[15,28,43],misra:[0,38,39],miss:[],mix:29,mkdir:28,mmd:0,mock:[4,38],mode:[0,35,37],modif:26,modifi:26,modul:0,more:[],mount:13,mous:[32,40],move:[0,32,40],msvc:[0,18],multi:0,multipl:[],must:[0,5,6,7,13,15,26,37,39,40,43],mv7a8:0,my_comput:34,my_project:[8,28],myinclud:[],mylib:4,mylibraryproject:39,myproj:[0,1,17],myproject:34,myprojectnam:30,myspecialcollect:40,myvar:34,name:[0,1,6,7,11,13,15,23,24,29,30,32,34,38,39,40,41],narrow:38,nativ:[18,27],navig:11,nbsp:[32,40],ndebug:7,ndefault:40,necessari:[0,37,38,43],need:[0,4,6,7,9,10,27,30,34,38,39],neglig:26,nest:[],network:23,never:0,nevertheless:13,newer:37,newlib:6,next:[13,39],nice:38,nicer:0,nico:0,nicoretti:28,nil:23,nilclass:23,nmake:17,no_autodir:0,non:[0,6],none:[26,37],noninfring:26,note:[],noth:28,notic:26,novemb:0,now:[],number:[0,7,15,24,38],oathnam:0,object:[0,5,6],obtain:26,octob:0,off:[0,15,32],offici:0,often:[23,36,39],old:[0,12],omit:[0,1,6,40],onc:[10,31,40],onli:[],open:[0,6,23,39],opinion:43,opt:0,optim:[6,7],option:[],order:[],org:36,origin:[0,4,29,37,38,42],other:[0,2,6,7,11,13,19,26,30,34,39,43],otherwis:[0,13,26,38,39],our:[37,43],out:[0,1,10,15,18,26,38,40,42],output:[],outputdir:[0,32,34],outsid:[4,7],over:[0,32,40],overview:[],overwrit:[0,7,38],overwritten:[0,12],owner:26,packag:37,page:[0,9,12,15,18,38],paht:39,paket:24,paramet:[0,19,30,35,37,38,39],parent:[0,1,29,31,32],pars:29,parser:[0,23],part:[6,26,30,36,39,40],parti:[0,6,26],particular:26,pass:0,password:23,patch:[0,32],path:[],path_separ:0,pathnam:0,pathto:32,pattern:[0,1,32],pclint:39,peak:27,peopl:43,per:[0,12,23,38],perfect:10,perform:[],perman:37,permiss:26,permit:26,person:[26,32],personali:43,phisolophi:43,phrase:26,pictur:0,pipe:0,place:[0,39,41],plain:0,platform:[0,28,34,38],pleas:[14,21,38],plugin:[0,14,18,21],png:36,point:[16,43],polici:32,port:24,portion:26,posix:37,possibl:[0,1,4,6,9,10,26,29,31,34,36,39,40,42],post:[2,8],poststep:[0,8,32],practic:42,pragma:39,pre:[],prebuild:[],predefin:[],prefer:[],prefix:[0,37],prepro:0,preproc_with_compil:0,press:12,prestep:[0,32,39],prestepmain:2,pretti:[31,43],preview:35,previou:0,primarybootloader2includ:30,print:[0,38,42],print_less:0,prior:0,prioriti:[0,31,34],probabl:0,problem:[0,15,39],procedur:35,process:[0,26,43],procur:26,product:26,profit:26,program:[26,37],programm:37,progress:43,progressbar:[0,23],proj:0,projec:[10,34],project:[],projectdir:[0,34,39],projectnam:[0,34,39],projnam:34,properli:0,properti:[12,18],protect:23,prove:43,provid:[0,9,16,26,28,39,43],proxi:23,prqa:38,publish:26,puh:[],purpos:[26,43],put:31,python:38,qac:[0,38],qac_hom:[0,38],qac_rcf:0,qaccctpatch:0,qacdata:[0,38],qacdoc:[0,38],qacfilt:0,qacli:[0,38],qacnofilt:[0,38],qacnoformat:0,qacpp:[],qacrawformat:[0,38],qacretri:[0,38],qacstep:[0,38],qaf:38,quickstart:[],quot:[32,40],raid:27,rake:0,ram:27,rare:[0,39],rather:43,raw:[0,37,38],rcf:[0,38],rcr:38,rdoc:23,reach:[0,38],read:[0,8,10,14,37,43],readi:28,real:[29,34],realli:[0,1],reanm:0,reason:[37,43],rebuild:[15,25,27,38],rebuilt:0,recogn:[0,30],recognit:0,recommend:17,recompil:0,recorgn:39,recreat:[0,12],rectangl:36,recurs:[0,31,35],red:36,redirect:39,redistribut:26,reduc:7,redund:0,refactor:25,refer:[0,6,7,30],referenc:[0,7,26,30],reformat:[0,38],refus:0,regardless:[0,29,39],regener:0,regular:[0,7,29,38,41],rel:[0,30,32],releas:[0,6,7,40],relev:6,reload:[0,28],remov:[],renam:[0,37],render:36,repetet:31,replac:[],report:[],repositori:[10,42],reproduc:26,requir:0,requiredbakevers:32,reserv:26,resourc:0,respons:32,rest:[24,39],restart:14,restrict:[0,26],result:[],retain:26,retri:[0,38],retriev:[],reus:0,revis:23,rework:0,rewrit:17,rfc:[],rgen:[0,23],rid:[12,37],right:[0,15,19,26,38],robust:0,root1:[1,40],root2:[1,40],root:[],rtext:[0,9,23],rtext_eclipse_plugin:9,rubi:[],ruby192:37,rubygem:[0,23],rule:[0,38],run:[0,13,23,27,37,40,43],same:[],satisfi:10,script:[0,6,10,17,32,38,43],scroll:0,search:[],sec:27,second:[0,15,38],secur:[14,41],see:[0,15,19,23,26,36,37,41,43],seem:42,seen:[0,15],select:[],sell:26,sens:10,sensit:0,separ:[0,1,26,31,39],seper:34,septemb:0,sequenc:37,server:21,servic:26,set:[],setup:[],sever:[0,1,10,24,31,40],shall:[4,6,12,26],shell:[2,37],shift:0,shortcut:0,should:[],show:[0,39],show_abs_path:0,show_config:0,show_doc:0,show_incs_and_def:0,show_licens:0,shown:[0,10,15,18,19,25,38],signal:37,similar:[12,38],simliar:41,simpli:[7,10,12,15,31,38],singl:[],site:[9,14,21],size:[15,39],skip:0,slash:[0,32],slightli:38,slow:0,small:10,softwar:[9,14,22,26,42],solut:[18,23,39],some:[0,6,10,12,15,18,26,38,39],someth:[0,1,34],sometim:43,soon:[0,9],sorri:0,sort:0,sourc:[0,6,8,10,12,13,19,23,25,26,41],space:[0,32],spam:0,special:[0,26,30],specifi:[0,1,2,6,7,8,10,15,19,29,32,38,39,40,42],spefici:[],spent:43,spider:13,src:[0,8,28],standard:12,start:[],startup:[0,27],startupcod:0,startupstep:[0,32],state:26,statement:[15,42],stdin:[0,37],stdout:38,step:[2,8,10,14,21,37,39,41,43],stick:43,still:[0,10,16],stop:[0,1,40],stoponfirsterror:0,store:0,straight:31,strategi:0,stream:0,strict:26,string:[0,32,34,40],structur:[28,36],stty:37,studio:[],stuff:[2,7,34],style:0,sub1:42,sub2:42,sub3:40,sub:[0,7,8,12,31],subcollect:40,subfold:[0,38],subject:26,sublicens:26,subprocess:37,subproject:7,subset:10,substanti:26,substitu:[],substitut:[0,8,26,32,34],subtag:0,success:0,successful:14,successfulli:[23,25,42],suitabl:13,suppli:39,supplier:6,support:[],suppress:[0,38,39],sur:38,sure:[6,23,39],svn:42,swcabc:0,swcabcd:0,symbol:13,symlink:[],sync:[0,42],system:[0,7,10,23,27,32,34,37,39],tag:[0,6],take:[0,15,27,41,43],taken:[0,8],target:[0,32],team:10,templat:[0,38],temporari:0,term:26,test:[],testa:36,text:[32,36],than:[],thank:0,theconfig:34,thei:[6,12,16,29,35,43],them:[0,12,29,38],themselv:4,theori:26,theproject:34,therefor:[7,34,43],thi:[0,1,4,6,10,11,12,13,15,18,19,21,23,24,26,28,29,30,31,34,37,38,39,40,41,42,43],thing:38,think:43,third:[0,6,26,38],those:[6,15,43],though:[39,43],thread:[0,27],three:[6,11,32,38],through:43,ti_ar:0,ti_cl:0,ti_hom:0,time:[0,10,28,34],timeout:[0,38],tip:[],tms470:0,too:[],tool:[0,10,18,21,30,34,38,43],toolchain:[0,7,8,18,32,38,39],toolchain_info:0,toolchain_nam:0,toolchainnam:[0,34],toolkit:[0,17,23,40],toolsprqaprqa:[],top:29,tort:26,touch:25,tpng:36,treat:0,tred:36,tree:0,tri:[24,38],trick:[],trust:14,tty:37,turn:[0,6],two:[0,1,6,18,34,40],type:[],typic:[],typo:0,unchang:25,uncommon:1,undefin:23,under:[0,10,13,16],underscor:26,understand:[36,43],unfilt:38,uniniti:0,unintention:0,uniqu:40,unit:[0,38,40],unittest:[0,4,40],unittestlib:40,unittestlibswithoutbsp:40,unix:[],unknown:24,unless:[0,26],unlock:23,unnecessari:[],unter:12,until:38,updat:[0,9,14,21],updatesit:14,upper:4,upward:0,usag:34,user:[],userlibrari:[30,32],usr:34,usual:[1,2,15,18,34,43],usuali:23,valid:[0,7,30,31,32],validexitcod:[0,32],valu:[0,32,34],variabl:[],vcvarsal:18,verbos:0,veri:[0,11,12,23,27,31,40],version:[0,17,23,27,37,38,39,43],via:[0,10,15,19,21,29,37],view:15,violat:38,virtual:0,visibl:37,visual:[],vs2013:0,w3520:27,wai:[0,17,23,26,34,37,43],wait:43,wall:8,want:[0,1,6,10,12,28,29,41,43],warn:[],warn_sect:0,warranti:26,web:23,webpag:23,well:[0,39],were:[0,23,26],what:[],whatev:[7,30],when:[0,6,17,25,26,42],where:[0,43],whether:[26,43],which:[],white:37,whole:[0,10,26,27,36],whom:26,why:[],wildcard:[1,40],window:[0,9,10,15,19,27,34,37,42],wishlist:0,without:[18,25,26,27,29,34],wizard:[0,10],won:[2,39],word:0,work:[0,10,13,15,29,35,37,41,42],workaround:[0,25],workflow:[],workspac:[],world:34,would:[0,4,34],wrap:0,wrapper:[10,11,12,38],write:[0,29,30,38,41],writecc2j:0,written:[0,1,15],wrong:0,www:[14,21,36],wysiwyg:43,x86_64:[23,28],xeon:27,xml:[21,39],yesquant:40,yet:[10,18],you:[],your:[]},titles:["Changelog","Commandline","The build hierarchy","Concepts","Injection and inheritance of IncludeDir and Dependency","The link order","Prebuild configurations for distributions","The main project","The Project.meta file","Eclipse","How to convert existing CDT workspaces","How to create a new project in Eclipse","How to create a workspace in Eclipse","How to debug in Eclipse","How to install bake Eclipse integration","How to use bake in Eclipse","IDE Support","How to create VS-Projects using bake","How to Debug in Visual Studio","How to use bake in Visual Studio","Visual Studio","How to install bake Visual Studio integration","bake 2.25.0","Install bake","Internal developing notes","Known Issues","License","Performance","Quickstart","Adapt configs","Auto-adjustment of paths to existing projects","Derive configs","The Syntax of the Project.meta file","Syntax","Variables in Project.meta","bakeclean","Generating dot graphs","How to use bake with cygwin","QACPP","Static Code Analysis","The Bakery","Clang Analyze","Additional features","Why you should use bake"],titleterms:{"0x01":24,"0x0a":24,"import":[1,12],"new":11,"static":39,adapt:29,add:13,addit:[38,42],adjust:[15,30],admin:38,advantag:7,analysi:39,analyz:[38,41],applic:[1,13],arbitrari:1,auto:30,bake:[1,14,15,17,19,21,22,23,27,34,37,39,43],bakeclean:35,bakeqac:38,bakeri:40,basic:[16,39],bind:9,build:[1,2,15,24],can:13,cdt:[10,15],changelog:0,choos:15,clang:41,clean:[1,15],cmake:27,code:[13,39],collect:40,commandlin:[1,40],compil:[13,39],complex:34,concept:3,config:[29,31],configur:[6,13,15,39],convert:10,creat:[11,12,13,17],cygwin:37,debug:[13,18],defin:[15,34,39],depend:4,deriv:31,desgin:43,develop:24,differ:27,differnt:1,directori:[1,7],distribut:6,doe:23,dot:36,due:39,dure:23,eclips:[9,11,12,13,14,15,27],effect:29,environ:[27,34],error:[23,24,39],exampl:[1,2,5,7,8,23,38,39],exist:[10,30],extend:29,extern:5,fail:39,featur:42,file:[1,8,15,32],from:1,gener:36,get:1,goal:43,graph:[2,36],header:24,help:1,hierarchi:2,highlight:9,how:[1,10,11,12,13,14,15,17,18,19,21,23,37,40],implic:31,includ:[15,39,42],includedir:4,inform:13,inherit:[4,31],inject:4,instal:[14,21,23],instruct:32,integr:[14,16,21],interact:32,intern:24,introduct:29,invalid:23,issu:[23,25,39],junction:42,just:1,kei:9,known:[23,25,39],languag:23,librari:5,licens:26,link:5,lint:39,main:[7,15],makefil:27,mani:39,map:13,messag:23,meta:[8,32,34,40],miss:39,more:1,most:1,multipl:31,nest:34,note:[24,34,38],now:13,occurr:29,onli:39,option:[1,38],order:5,output:[7,38],packet:24,path:[13,30],perform:27,perspect:15,pre:[],prebuild:6,predefin:34,prefer:15,project:[1,7,8,11,15,17,24,30,32,34],qacpp:38,quickstart:28,receiv:24,remov:29,replac:29,report:38,result:[15,27],root:1,rubi:27,same:5,search:39,select:15,send:24,set:23,setup:39,should:43,singl:1,socket:24,specif:1,start:[23,24],step:38,studio:[18,19,20,21],support:16,symlink:42,syntax:[9,32,33,40],test:27,than:1,tip:[],todo:[],too:39,trick:[],type:[24,29],typic:6,unix:27,unnecessari:42,user:34,variabl:34,view:38,viewer:32,visual:[18,19,20,21],warn:34,what:[8,40],which:1,why:43,within:1,without:38,workflow:6,workspac:[10,12],you:[13,43],your:13}})
@@ -221,7 +221,7 @@ z-index: 100;
221
221
  <span><span style="background-color:#EEEEEE;" class="show">
222
222
  &nbsp; &nbsp; <span class="mycomment"># Valid for all config types</span><br><br>
223
223
  &nbsp; &nbsp; <span class="help" onMouseover="showDescription()" onMouseout="notip()">Description</span> &#60;text&#62;<br>
224
- &nbsp; &nbsp; <span class="help" onMouseover="showIncludeDir()" onMouseout="notip()">IncludeDir</span> &#60;dir&#62;, <span class="help" onMouseover="showInherit()" onMouseout="notip()">inherit</span>: true|false, <span class="help" onMouseover="showInfix()" onMouseout="notip()">inject</span>: front|back<br>
224
+ &nbsp; &nbsp; <span class="help" onMouseover="showIncludeDir()" onMouseout="notip()">IncludeDir</span> &#60;dir&#62;, <span class="help" onMouseover="showInherit()" onMouseout="notip()">inherit</span>: true|false, <span class="help" onMouseover="showInfix()" onMouseout="notip()">inject</span>: front|back, <span class="help" onMouseover="showSystemInclude()" onMouseout="notip()">system</span>: true|false<br>
225
225
  &nbsp; &nbsp; <span class="help" onMouseover="showSet()" onMouseout="notip()">Set</span> &#60;variable&#62;, value: &#60;value&#62; | cmd: &#60;line&#62;, <span class="help" onMouseover="showEnv()" onMouseout="notip()">env</span>: true|false<br>
226
226
  &nbsp; &nbsp; <span class="help" onMouseover="showDependency()" onMouseout="notip()">Dependency</span> &#60;project&#62;,
227
227
  <span class="help" onMouseover="showDependencyConfig()" onMouseout="notip()">config</span>: &#60;name&#62;<br>
@@ -625,6 +625,13 @@ function showInfix() {
625
625
  ddrivetip("inject", "No","0..1","-",str)
626
626
  }
627
627
 
628
+ function showSystemInclude() {
629
+ str = 'If supported from the compiler, the system include flag will be used instead of the normal include flag.<br>'+
630
+ 'Example: in gcc "-isystem" instead of "-I" is used.<br>'+
631
+ 'Note: system include definition overrules normal include definition if both are defined.'
632
+ ddrivetip("system", "false","0..1","-",str)
633
+ }
634
+
628
635
  function showSet() {
629
636
  str = 'Sets a variable for this and all dependent projects.<br>'+
630
637
  'The variable can be a simple value or the result of a cmd, e.g. \"cat myVar.txt\".'
@@ -102,6 +102,7 @@
102
102
  <li><a class="reference internal" href="#step-1-admin">Step 1: admin</a></li>
103
103
  <li><a class="reference internal" href="#step-2-analyze">Step 2: analyze</a></li>
104
104
  <li><a class="reference internal" href="#step-3-view">Step 3: view</a></li>
105
+ <li><a class="reference internal" href="#step-4-report">Step 4: report</a></li>
105
106
  <li><a class="reference internal" href="#additional-options">Additional options</a></li>
106
107
  <li><a class="reference internal" href="#notes">Notes</a></li>
107
108
  <li><a class="reference internal" href="#example-output">Example output</a></li>
@@ -157,12 +158,14 @@
157
158
  <div class="highlight-console"><div class="highlight"><pre><span class="go">qacli admin --qaf-project-config --qaf-project qacdata --cct &lt;cct&gt; --rcf &lt;rcf&gt; --acf &lt;acf&gt;</span>
158
159
  <span class="go">qacli analyze -P qacdata -b &lt;bake call&gt;</span>
159
160
  <span class="go">qacli view -P qacdata -m STDOUT</span>
161
+ <span class="go">qacli report -P qacdata -t SUR # or -t RCR. Please also note, that the &quot;view&quot; is not necessary to generate the reports.</span>
160
162
  </pre></div>
161
163
  </div>
162
164
  <ul class="simple">
163
165
  <li>The first command creates the qac project database.</li>
164
166
  <li>The second command builds and analyzes the files.</li>
165
167
  <li>The third command prints out the result unfiltered.</li>
168
+ <li>The forth command generates reports. You may replace the python scripts in PRQA to adapt the output.</li>
166
169
  </ul>
167
170
  </div>
168
171
  <div class="section" id="with-bakeqac">
@@ -175,9 +178,9 @@
175
178
  <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt;</span>
176
179
  </pre></div>
177
180
  </div>
178
- <p>bakeqac will automatically do the three steps mentioned above. If one of these steps fails, the consecutive steps will be dismissed.</p>
181
+ <p>bakeqac will automatically do the first three steps mentioned above. If one of these steps fails, the consecutive steps will be dismissed.</p>
179
182
  <p>You can also choose certain steps (can be combined with &#8220;|&#8221;):</p>
180
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacstep admin|analyze|view</span>
183
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacstep admin|analyze|view|report</span>
181
184
  <span class="go">bakeqac &lt;options&gt; --qacstep admin</span>
182
185
  <span class="go">etc.</span>
183
186
  </pre></div>
@@ -252,13 +255,17 @@ This may be used to add additional configuration parameters which are compiler i
252
255
  </pre></div>
253
256
  </div>
254
257
  </div>
258
+ <div class="section" id="step-4-report">
259
+ <h2>Step 4: report<a class="headerlink" href="#step-4-report" title="Permalink to this headline">¶</a></h2>
260
+ <p>Reports about the warnings and suppressed warnings are be generated.</p>
261
+ </div>
255
262
  <div class="section" id="additional-options">
256
263
  <h2>Additional options<a class="headerlink" href="#additional-options" title="Permalink to this headline">¶</a></h2>
257
264
  <p>QACPP needs a license. If floating licenses are not available, bakeqac can retry to checkout them:</p>
258
265
  <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacretry &lt;seconds&gt;</span>
259
266
  </pre></div>
260
267
  </div>
261
- <p>Step 2 and 3 are retried until timeout is reached.</p>
268
+ <p>Steps &#8220;analyze&#8221; and &#8220;view&#8221; are retried until timeout is reached.</p>
262
269
  </div>
263
270
  <div class="section" id="notes">
264
271
  <h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">¶</a></h2>
data/lib/bake/cache.rb CHANGED
@@ -8,7 +8,8 @@ module Bake
8
8
 
9
9
  class Cache
10
10
  attr_accessor :referencedConfigs
11
- attr_accessor :files # project_files
11
+ attr_accessor :adaptConfigs
12
+ attr_accessor :adaptStrings
12
13
  attr_accessor :cache_file
13
14
  attr_accessor :version
14
15
  attr_accessor :workspace_roots
@@ -53,17 +54,6 @@ module Bake
53
54
  end
54
55
  end
55
56
 
56
- if cache != nil
57
- cache.files.each do |c|
58
- if (not File.exists?(c))
59
- Bake.options.nocache = true
60
- Bake.formatter.printInfo("Info: cached meta file #{c} renamed or deleted, reloading meta information")
61
- cache = nil
62
- break
63
- end
64
- end
65
- end
66
-
67
57
  if cache != nil
68
58
  cache.referencedConfigs.each do |pname,configs|
69
59
  configs.each do |config|
@@ -71,30 +61,27 @@ module Bake
71
61
  Bake.options.nocache = true
72
62
  Bake.formatter.printInfo("Info: cached meta file #{config.file_name} renamed or deleted, reloading meta information")
73
63
  cache = nil
64
+ break
65
+ elsif File.mtime(config.file_name) > cacheTime + 1
66
+ Bake.formatter.printInfo("Info: #{c} has been changed, reloading meta information")
67
+ cache = nil
68
+ break
74
69
  end
75
70
  end
76
71
  end
77
72
  end
78
73
 
79
- if cache != nil
80
- cache.files.each do |c|
81
- if File.mtime(c) > cacheTime + 1
82
- Bake.formatter.printInfo("Info: #{c} has been changed, reloading meta information")
83
- cache = nil
84
- break
85
- end
86
- end
87
- end
88
-
89
74
  if (cache != nil)
90
- if (not AdaptConfig.filenames.eql?(cache.adapt_filenames))
91
- Bake.formatter.printInfo("Info: adapt config filenames have been changed, reloading meta information")
75
+ if (cache.adaptStrings.length != Bake.options.adapt.length) ||
76
+ (cache.adaptStrings.any? { |a| !Bake.options.adapt.include?(a) }) ||
77
+ (Bake.options.adapt.any? { |a| !cache.adaptStrings.include?(a) })
78
+ Bake.formatter.printInfo("Info: adapts flags have been changed, reloading meta information")
92
79
  cache = nil
93
80
  end
94
81
  end
95
82
 
96
- if (cache != nil and not AdaptConfig.filenames.empty?)
97
- AdaptConfig.filenames.each do |f|
83
+ if (cache != nil)
84
+ cache.adapt_filenames.each do |f|
98
85
  adaptTime = File.mtime(f)
99
86
  if adaptTime > cacheTime + 1
100
87
  Bake.formatter.printInfo("Info: #{f} has been changed, reloading meta information")
@@ -152,10 +139,11 @@ module Bake
152
139
  return nil
153
140
  end
154
141
 
155
- def write_cache(project_files, referencedConfigs)
142
+ def write_cache(referencedConfigs, adaptConfigs)
156
143
  cache = Cache.new
157
144
  cache.referencedConfigs = referencedConfigs
158
- cache.files = project_files
145
+ cache.adaptStrings = Bake.options.adapt
146
+ cache.adaptConfigs = adaptConfigs
159
147
  cache.cache_file = @cacheFilename
160
148
  cache.version = Version.number
161
149
  cache.include_filter = Bake.options.include_filter
@@ -132,7 +132,6 @@ module Bake
132
132
 
133
133
  Bake::Configs::Checks.symlinkCheck(filename)
134
134
 
135
- @project_files << filename
136
135
  f = @loader.load(filename)
137
136
 
138
137
  config = nil
@@ -248,7 +247,6 @@ module Bake
248
247
  ExitHelper.exit(1)
249
248
  end
250
249
 
251
- @project_files = []
252
250
  configs = loadProjMeta(mainMeta)
253
251
  @loadedConfigs = {}
254
252
  @loadedConfigs[Bake.options.main_project_name] = configs
@@ -345,32 +343,24 @@ module Bake
345
343
  ExitHelper.exit(0)
346
344
  end
347
345
 
346
+ def printConfigs(adaptConfigs)
347
+ @adaptConfigs = adaptConfigs
348
+ @loader = Loader.new
349
+ loadMainMeta # note.in cache only needed configs are stored
350
+ printConfigNames
351
+ end
352
+
348
353
  def load(adaptConfigs)
349
354
  @adaptConfigs = adaptConfigs
350
355
  @loader = Loader.new
351
- if not Bake.options.showConfigs
352
- cache = CacheAccess.new()
353
- @referencedConfigs = cache.load_cache unless Bake.options.nocache
354
- # cache invalid or forced to reload
355
- if @referencedConfigs.nil?
356
- loadMainMeta
357
- printConfigNames if showConfigNames? # if neither config name nor default is set, list the configs with DefaultToolchain
358
- checkRoots
359
- while dep = @depsPending.shift
360
- loadMeta(dep)
361
- end
362
- filterSteps
363
- cache.write_cache(@project_files, @referencedConfigs)
364
- else
365
- if showConfigNames?
366
- loadMainMeta # needed because in cache only needed configs are stored
367
- printConfigNames
368
- end
369
- end
370
- else
371
- loadMainMeta # "--list" specified
372
- printConfigNames
356
+ loadMainMeta
357
+ printConfigNames if showConfigNames? # if neither config name nor default is set, list the configs with DefaultToolchain
358
+ checkRoots
359
+ while dep = @depsPending.shift
360
+ loadMeta(dep)
373
361
  end
362
+ filterSteps
363
+ return @referencedConfigs
374
364
  end
375
365
 
376
366
  end
@@ -1,307 +1,311 @@
1
- require 'rgen/metamodel_builder'
2
- require 'rgen/metamodel_builder/data_types'
3
-
4
- module Bake
5
-
6
- module Metamodel
7
- extend RGen::MetamodelBuilder::ModuleExtension
8
-
9
- class ModelElement < RGen::MetamodelBuilder::MMBase
10
- abstract
11
- has_attr 'line_number', Integer do
12
- annotation :details => {'internal' => 'true'}
13
- end
14
- module ClassModule
15
- def fragment_ref=(fref)
16
- @fname = fref.fragment.location
17
- end
18
-
19
- def file_name
20
- @fname
21
- end
22
-
23
- def file_name=(name)
24
- @fname = name
25
- end
26
- end
27
- end
28
-
29
- CompilerType = RGen::MetamodelBuilder::DataTypes::Enum.new( :name => "CompilerType", :literals => [:CPP, :C, :ASM])
30
-
31
- class Flags < ModelElement
32
- has_attr 'overwrite', String, :defaultValueLiteral => ""
33
- has_attr 'add', String, :defaultValueLiteral => ""
34
- has_attr 'remove', String, :defaultValueLiteral => ""
35
- end
36
- class LibPrefixFlags < ModelElement
37
- has_attr 'overwrite', String, :defaultValueLiteral => ""
38
- has_attr 'add', String, :defaultValueLiteral => ""
39
- has_attr 'remove', String, :defaultValueLiteral => ""
40
- end
41
- class LibPostfixFlags < ModelElement
42
- has_attr 'overwrite', String, :defaultValueLiteral => ""
43
- has_attr 'add', String, :defaultValueLiteral => ""
44
- has_attr 'remove', String, :defaultValueLiteral => ""
45
- end
46
- class Define < ModelElement
47
- has_attr 'str', String, :defaultValueLiteral => ""
48
- end
49
-
50
- class InternalIncludes < ModelElement
51
- has_attr 'name', String, :defaultValueLiteral => ""
52
- end
53
-
54
- class InternalDefines < ModelElement
55
- has_attr 'name', String, :defaultValueLiteral => ""
56
- end
57
-
58
- class Archiver < ModelElement
59
- has_attr 'command', String, :defaultValueLiteral => ""
60
- contains_many 'flags', Flags, 'parent'
61
- end
62
-
63
- class Linker < ModelElement
64
- has_attr 'command', String, :defaultValueLiteral => ""
65
- contains_many 'flags', Flags, 'parent'
66
- contains_many 'libprefixflags', LibPrefixFlags, 'parent'
67
- contains_many 'libpostfixflags', LibPostfixFlags, 'parent'
68
- end
69
-
70
- class Compiler < ModelElement
71
- has_attr 'ctype', CompilerType
72
- has_attr 'command', String, :defaultValueLiteral => ""
73
- contains_many 'define', Define, 'parent'
74
- contains_many 'flags', Flags, 'parent'
75
- contains_one 'internalDefines', InternalDefines, 'parent'
76
- end
77
-
78
- class LintPolicy < ModelElement
79
- has_attr 'name', String, :defaultValueLiteral => ""
80
- end
81
-
82
- class Docu < ModelElement
83
- has_attr 'name', String, :defaultValueLiteral => ""
84
- end
85
-
86
- class DefaultToolchain < ModelElement
87
- has_attr 'basedOn', String, :defaultValueLiteral => ""
88
- has_attr 'outputDir', String, :defaultValueLiteral => ""
89
- has_attr 'eclipseOrder', Boolean, :defaultValueLiteral => "false"
90
- contains_many 'compiler', Compiler, 'parent'
91
- contains_one 'archiver', Archiver, 'parent'
92
- contains_one 'linker', Linker, 'parent'
93
- contains_many 'lintPolicy', LintPolicy, 'parent'
94
- contains_one 'internalIncludes', InternalIncludes, 'parent'
95
- contains_one 'docu', Docu, 'parent'
96
- end
97
-
98
- class Toolchain < ModelElement
99
- has_attr 'outputDir', String, :defaultValueLiteral => ""
100
- contains_many 'compiler', Compiler, 'parent'
101
- contains_one 'archiver', Archiver, 'parent'
102
- contains_one 'linker', Linker, 'parent'
103
- contains_many 'lintPolicy', LintPolicy, 'parent'
104
- contains_one 'docu', Docu, 'parent'
105
- end
106
-
107
- class Person < ModelElement
108
- has_attr 'name', String, :defaultValueLiteral => ""
109
- has_attr 'email', String, :defaultValueLiteral => ""
110
- end
111
-
112
- class Description < ModelElement
113
- has_attr 'text', String, :defaultValueLiteral => ""
114
- end
115
-
116
- class RequiredBakeVersion < ModelElement
117
- has_attr 'minimum', String, :defaultValueLiteral => ""
118
- has_attr 'maximum', String, :defaultValueLiteral => ""
119
- end
120
-
121
- class Responsible < ModelElement
122
- contains_many "person", Person, 'parent'
123
- end
124
-
125
- class Files < ModelElement
126
- has_attr 'name', String, :defaultValueLiteral => ""
127
- contains_many 'define', Define, 'parent'
128
- contains_many 'flags', Flags, 'parent'
129
- end
130
-
131
- class ExcludeFiles < ModelElement
132
- has_attr 'name', String, :defaultValueLiteral => ""
133
- end
134
-
135
- class IncludeDir < ModelElement
136
- has_attr 'name', String, :defaultValueLiteral => ""
137
- has_attr 'infix', String, :defaultValueLiteral => ""
138
- has_attr 'inject', String, :defaultValueLiteral => ""
139
- has_attr 'inherit', Boolean, :defaultValueLiteral => "false"
140
- end
141
-
142
- class LibStuff < ModelElement
143
- end
144
-
145
- class ExternalLibrary < LibStuff
146
- has_attr 'name', String, :defaultValueLiteral => ""
147
- has_attr 'search', Boolean, :defaultValueLiteral => "true"
148
- end
149
-
150
- class ExternalLibrarySearchPath < LibStuff
151
- has_attr 'name', String, :defaultValueLiteral => ""
152
- end
153
-
154
- class UserLibrary < LibStuff
155
- has_attr 'name', String, :defaultValueLiteral => ""
156
- end
157
-
158
- class Dependency < LibStuff
159
- has_attr 'name', String, :defaultValueLiteral => ""
160
- has_attr 'config', String, :defaultValueLiteral => ""
161
- has_attr 'inject', String, :defaultValueLiteral => ""
162
- end
163
-
164
- class Except < ModelElement
165
- has_attr 'name', String, :defaultValueLiteral => ""
166
- has_attr 'config', String, :defaultValueLiteral => ""
167
- end
168
-
169
- class Prebuild < ModelElement
170
- contains_many 'except', Except, 'parent'
171
- end
172
-
173
- class Step < ModelElement
174
- has_attr 'name', String, :defaultValueLiteral => ""
175
- has_attr 'default', String, :defaultValueLiteral => "on"
176
- has_attr 'filter', String, :defaultValueLiteral => ""
177
- has_many_attr 'validExitCodes', Integer
178
- end
179
-
180
- class Makefile < Step
181
- has_attr 'lib', String, :defaultValueLiteral => ""
182
- has_attr 'target', String, :defaultValueLiteral => ""
183
- has_attr 'pathTo', String, :defaultValueLiteral => ""
184
- contains_many 'flags', Flags, 'parent'
185
- end
186
-
187
- class CommandLine < Step
188
- end
189
-
190
- class PreSteps < ModelElement
191
- contains_many 'step', Step, 'parent'
192
- end
193
-
194
- class PostSteps < ModelElement
195
- contains_many 'step', Step, 'parent'
196
- end
197
-
198
- class ExitSteps < ModelElement
199
- contains_many 'step', Step, 'parent'
200
- end
201
-
202
- class StartupSteps < ModelElement
203
- contains_many 'step', Step, 'parent'
204
- end
205
-
206
- class LinkerScript < ModelElement
207
- has_attr 'name', String, :defaultValueLiteral => ""
208
- end
209
-
210
- class MapFile < ModelElement
211
- has_attr 'name', String, :defaultValueLiteral => ""
212
- end
213
-
214
- class ArtifactName < ModelElement
215
- has_attr 'name', String, :defaultValueLiteral => ""
216
- end
217
-
218
- class Set < ModelElement
219
- has_attr 'name', String, :defaultValueLiteral => ""
220
- has_attr 'value', String, :defaultValueLiteral => ""
221
- has_attr 'cmd', String, :defaultValueLiteral => ""
222
- has_attr 'env', Boolean, :defaultValueLiteral => "false"
223
- end
224
-
225
- class BaseConfig_INTERNAL < ModelElement
226
- has_attr 'name', String, :defaultValueLiteral => ""
227
- has_attr 'extends', String, :defaultValueLiteral => ""
228
- has_attr 'type', String, :defaultValueLiteral => ""
229
- has_attr 'project', String, :defaultValueLiteral => ""
230
- contains_one 'description', Description, 'parent'
231
- contains_one 'startupSteps', StartupSteps, 'parent'
232
- contains_one 'preSteps', PreSteps, 'parent'
233
- contains_one 'postSteps', PostSteps, 'parent'
234
- contains_one 'exitSteps', ExitSteps, 'parent'
235
- contains_many 'libStuff', LibStuff, 'parent'
236
- contains_one 'defaultToolchain', DefaultToolchain, 'parent'
237
- contains_one 'toolchain', Toolchain, 'parent'
238
- contains_many 'set', Set, 'parent'
239
- contains_many 'includeDir', IncludeDir, 'parent'
240
- contains_many 'prebuild', Prebuild, 'parent'
241
-
242
- module ClassModule
243
- def ident
244
- s = file_name.split("/")
245
- s[s.length-2] + "/" + name
246
- end
247
- end
248
-
249
- end
250
-
251
- class BuildConfig_INTERNAL < BaseConfig_INTERNAL
252
- contains_many 'files', Files, 'parent'
253
- contains_many 'excludeFiles', ExcludeFiles, 'parent'
254
- contains_one 'artifactName', ArtifactName, 'parent'
255
- end
256
-
257
- class ExecutableConfig < BuildConfig_INTERNAL
258
- contains_one 'linkerScript', LinkerScript, 'parent'
259
- contains_one 'mapFile', MapFile, 'parent'
260
- module ClassModule
261
- def color
262
- "green"
263
- end
264
- end
265
- end
266
-
267
- class LibraryConfig < BuildConfig_INTERNAL
268
- module ClassModule
269
- def color
270
- "cyan"
271
- end
272
- end
273
- end
274
-
275
- class CustomConfig < BaseConfig_INTERNAL
276
- contains_one 'step', Step, 'parent'
277
- module ClassModule
278
- def color
279
- "red"
280
- end
281
- end
282
- end
283
-
284
- class Project < ModelElement
285
- has_attr 'default', String, :defaultValueLiteral => ""
286
- contains_one 'description', Description, 'parent'
287
- contains_one 'requiredBakeVersion', RequiredBakeVersion, 'parent'
288
- contains_one 'responsible', Responsible, 'parent'
289
- contains_many 'config', BaseConfig_INTERNAL, 'parent'
290
-
291
- module ClassModule
292
- def name
293
- splitted = file_name.split("/")
294
- x = splitted[splitted.length-2]
295
- x
296
- end
297
- end
298
-
299
- end
300
-
301
- class Adapt < ModelElement
302
- contains_many 'config', BaseConfig_INTERNAL, 'parent'
303
- end
304
-
305
- end
306
-
307
- end
1
+ require 'rgen/metamodel_builder'
2
+ require 'rgen/metamodel_builder/data_types'
3
+
4
+ module Bake
5
+
6
+ module Metamodel
7
+ extend RGen::MetamodelBuilder::ModuleExtension
8
+
9
+ class ModelElement < RGen::MetamodelBuilder::MMBase
10
+ abstract
11
+ has_attr 'line_number', Integer do
12
+ annotation :details => {'internal' => 'true'}
13
+ end
14
+ module ClassModule
15
+ def fragment_ref=(fref)
16
+ @fname = fref.fragment.location
17
+ end
18
+
19
+ def file_name
20
+ @fname
21
+ end
22
+
23
+ def file_name=(name)
24
+ @fname = name
25
+ end
26
+ end
27
+ end
28
+
29
+ CompilerType = RGen::MetamodelBuilder::DataTypes::Enum.new( :name => "CompilerType", :literals => [:CPP, :C, :ASM])
30
+
31
+ class Flags < ModelElement
32
+ has_attr 'overwrite', String, :defaultValueLiteral => ""
33
+ has_attr 'add', String, :defaultValueLiteral => ""
34
+ has_attr 'remove', String, :defaultValueLiteral => ""
35
+ end
36
+ class LibPrefixFlags < ModelElement
37
+ has_attr 'overwrite', String, :defaultValueLiteral => ""
38
+ has_attr 'add', String, :defaultValueLiteral => ""
39
+ has_attr 'remove', String, :defaultValueLiteral => ""
40
+ end
41
+ class LibPostfixFlags < ModelElement
42
+ has_attr 'overwrite', String, :defaultValueLiteral => ""
43
+ has_attr 'add', String, :defaultValueLiteral => ""
44
+ has_attr 'remove', String, :defaultValueLiteral => ""
45
+ end
46
+ class Define < ModelElement
47
+ has_attr 'str', String, :defaultValueLiteral => ""
48
+ end
49
+
50
+ class InternalIncludes < ModelElement
51
+ has_attr 'name', String, :defaultValueLiteral => ""
52
+ end
53
+
54
+ class InternalDefines < ModelElement
55
+ has_attr 'name', String, :defaultValueLiteral => ""
56
+ end
57
+
58
+ class Archiver < ModelElement
59
+ has_attr 'command', String, :defaultValueLiteral => ""
60
+ contains_many 'flags', Flags, 'parent'
61
+ end
62
+
63
+ class Linker < ModelElement
64
+ has_attr 'command', String, :defaultValueLiteral => ""
65
+ contains_many 'flags', Flags, 'parent'
66
+ contains_many 'libprefixflags', LibPrefixFlags, 'parent'
67
+ contains_many 'libpostfixflags', LibPostfixFlags, 'parent'
68
+ end
69
+
70
+ class Compiler < ModelElement
71
+ has_attr 'ctype', CompilerType
72
+ has_attr 'command', String, :defaultValueLiteral => ""
73
+ contains_many 'define', Define, 'parent'
74
+ contains_many 'flags', Flags, 'parent'
75
+ contains_one 'internalDefines', InternalDefines, 'parent'
76
+ end
77
+
78
+ class LintPolicy < ModelElement
79
+ has_attr 'name', String, :defaultValueLiteral => ""
80
+ end
81
+
82
+ class Docu < ModelElement
83
+ has_attr 'name', String, :defaultValueLiteral => ""
84
+ end
85
+
86
+ class DefaultToolchain < ModelElement
87
+ has_attr 'basedOn', String, :defaultValueLiteral => ""
88
+ has_attr 'outputDir', String, :defaultValueLiteral => ""
89
+ has_attr 'eclipseOrder', Boolean, :defaultValueLiteral => "false"
90
+ contains_many 'compiler', Compiler, 'parent'
91
+ contains_one 'archiver', Archiver, 'parent'
92
+ contains_one 'linker', Linker, 'parent'
93
+ contains_many 'lintPolicy', LintPolicy, 'parent'
94
+ contains_one 'internalIncludes', InternalIncludes, 'parent'
95
+ contains_one 'docu', Docu, 'parent'
96
+ end
97
+
98
+ class Toolchain < ModelElement
99
+ has_attr 'outputDir', String, :defaultValueLiteral => ""
100
+ contains_many 'compiler', Compiler, 'parent'
101
+ contains_one 'archiver', Archiver, 'parent'
102
+ contains_one 'linker', Linker, 'parent'
103
+ contains_many 'lintPolicy', LintPolicy, 'parent'
104
+ contains_one 'docu', Docu, 'parent'
105
+ end
106
+
107
+ class Person < ModelElement
108
+ has_attr 'name', String, :defaultValueLiteral => ""
109
+ has_attr 'email', String, :defaultValueLiteral => ""
110
+ end
111
+
112
+ class Description < ModelElement
113
+ has_attr 'text', String, :defaultValueLiteral => ""
114
+ end
115
+
116
+ class RequiredBakeVersion < ModelElement
117
+ has_attr 'minimum', String, :defaultValueLiteral => ""
118
+ has_attr 'maximum', String, :defaultValueLiteral => ""
119
+ end
120
+
121
+ class Responsible < ModelElement
122
+ contains_many "person", Person, 'parent'
123
+ end
124
+
125
+ class Files < ModelElement
126
+ has_attr 'name', String, :defaultValueLiteral => ""
127
+ contains_many 'define', Define, 'parent'
128
+ contains_many 'flags', Flags, 'parent'
129
+ end
130
+
131
+ class ExcludeFiles < ModelElement
132
+ has_attr 'name', String, :defaultValueLiteral => ""
133
+ end
134
+
135
+ class BaseElement < ModelElement
136
+ end
137
+
138
+ class IncludeDir < BaseElement
139
+ has_attr 'name', String, :defaultValueLiteral => ""
140
+ has_attr 'infix', String, :defaultValueLiteral => ""
141
+ has_attr 'inject', String, :defaultValueLiteral => ""
142
+ has_attr 'inherit', Boolean, :defaultValueLiteral => "false"
143
+ has_attr 'system', Boolean, :defaultValueLiteral => "false"
144
+ end
145
+
146
+ class LibStuff < BaseElement
147
+ end
148
+
149
+ class ExternalLibrary < LibStuff
150
+ has_attr 'name', String, :defaultValueLiteral => ""
151
+ has_attr 'search', Boolean, :defaultValueLiteral => "true"
152
+ end
153
+
154
+ class ExternalLibrarySearchPath < LibStuff
155
+ has_attr 'name', String, :defaultValueLiteral => ""
156
+ end
157
+
158
+ class UserLibrary < LibStuff
159
+ has_attr 'name', String, :defaultValueLiteral => ""
160
+ end
161
+
162
+ class Dependency < LibStuff
163
+ has_attr 'name', String, :defaultValueLiteral => ""
164
+ has_attr 'config', String, :defaultValueLiteral => ""
165
+ has_attr 'inject', String, :defaultValueLiteral => ""
166
+ has_attr 'system', Boolean, :defaultValueLiteral => "false"
167
+ end
168
+
169
+ class Except < ModelElement
170
+ has_attr 'name', String, :defaultValueLiteral => ""
171
+ has_attr 'config', String, :defaultValueLiteral => ""
172
+ end
173
+
174
+ class Prebuild < ModelElement
175
+ contains_many 'except', Except, 'parent'
176
+ end
177
+
178
+ class Step < ModelElement
179
+ has_attr 'name', String, :defaultValueLiteral => ""
180
+ has_attr 'default', String, :defaultValueLiteral => "on"
181
+ has_attr 'filter', String, :defaultValueLiteral => ""
182
+ has_many_attr 'validExitCodes', Integer
183
+ end
184
+
185
+ class Makefile < Step
186
+ has_attr 'lib', String, :defaultValueLiteral => ""
187
+ has_attr 'target', String, :defaultValueLiteral => ""
188
+ has_attr 'pathTo', String, :defaultValueLiteral => ""
189
+ contains_many 'flags', Flags, 'parent'
190
+ end
191
+
192
+ class CommandLine < Step
193
+ end
194
+
195
+ class PreSteps < ModelElement
196
+ contains_many 'step', Step, 'parent'
197
+ end
198
+
199
+ class PostSteps < ModelElement
200
+ contains_many 'step', Step, 'parent'
201
+ end
202
+
203
+ class ExitSteps < ModelElement
204
+ contains_many 'step', Step, 'parent'
205
+ end
206
+
207
+ class StartupSteps < ModelElement
208
+ contains_many 'step', Step, 'parent'
209
+ end
210
+
211
+ class LinkerScript < ModelElement
212
+ has_attr 'name', String, :defaultValueLiteral => ""
213
+ end
214
+
215
+ class MapFile < ModelElement
216
+ has_attr 'name', String, :defaultValueLiteral => ""
217
+ end
218
+
219
+ class ArtifactName < ModelElement
220
+ has_attr 'name', String, :defaultValueLiteral => ""
221
+ end
222
+
223
+ class Set < ModelElement
224
+ has_attr 'name', String, :defaultValueLiteral => ""
225
+ has_attr 'value', String, :defaultValueLiteral => ""
226
+ has_attr 'cmd', String, :defaultValueLiteral => ""
227
+ has_attr 'env', Boolean, :defaultValueLiteral => "false"
228
+ end
229
+
230
+ class BaseConfig_INTERNAL < ModelElement
231
+ has_attr 'name', String, :defaultValueLiteral => ""
232
+ has_attr 'extends', String, :defaultValueLiteral => ""
233
+ has_attr 'type', String, :defaultValueLiteral => ""
234
+ has_attr 'project', String, :defaultValueLiteral => ""
235
+ contains_one 'description', Description, 'parent'
236
+ contains_one 'startupSteps', StartupSteps, 'parent'
237
+ contains_one 'preSteps', PreSteps, 'parent'
238
+ contains_one 'postSteps', PostSteps, 'parent'
239
+ contains_one 'exitSteps', ExitSteps, 'parent'
240
+ contains_many 'baseElement', BaseElement, 'parent'
241
+ contains_one 'defaultToolchain', DefaultToolchain, 'parent'
242
+ contains_one 'toolchain', Toolchain, 'parent'
243
+ contains_many 'set', Set, 'parent'
244
+ contains_many 'prebuild', Prebuild, 'parent'
245
+
246
+ module ClassModule
247
+ def ident
248
+ s = file_name.split("/")
249
+ s[s.length-2] + "/" + name
250
+ end
251
+ end
252
+
253
+ end
254
+
255
+ class BuildConfig_INTERNAL < BaseConfig_INTERNAL
256
+ contains_many 'files', Files, 'parent'
257
+ contains_many 'excludeFiles', ExcludeFiles, 'parent'
258
+ contains_one 'artifactName', ArtifactName, 'parent'
259
+ end
260
+
261
+ class ExecutableConfig < BuildConfig_INTERNAL
262
+ contains_one 'linkerScript', LinkerScript, 'parent'
263
+ contains_one 'mapFile', MapFile, 'parent'
264
+ module ClassModule
265
+ def color
266
+ "green"
267
+ end
268
+ end
269
+ end
270
+
271
+ class LibraryConfig < BuildConfig_INTERNAL
272
+ module ClassModule
273
+ def color
274
+ "cyan"
275
+ end
276
+ end
277
+ end
278
+
279
+ class CustomConfig < BaseConfig_INTERNAL
280
+ contains_one 'step', Step, 'parent'
281
+ module ClassModule
282
+ def color
283
+ "red"
284
+ end
285
+ end
286
+ end
287
+
288
+ class Project < ModelElement
289
+ has_attr 'default', String, :defaultValueLiteral => ""
290
+ contains_one 'description', Description, 'parent'
291
+ contains_one 'requiredBakeVersion', RequiredBakeVersion, 'parent'
292
+ contains_one 'responsible', Responsible, 'parent'
293
+ contains_many 'config', BaseConfig_INTERNAL, 'parent'
294
+
295
+ module ClassModule
296
+ def name
297
+ splitted = file_name.split("/")
298
+ x = splitted[splitted.length-2]
299
+ x
300
+ end
301
+ end
302
+
303
+ end
304
+
305
+ class Adapt < ModelElement
306
+ contains_many 'config', BaseConfig_INTERNAL, 'parent'
307
+ end
308
+
309
+ end
310
+
311
+ end