bake-toolkit 2.24.6 → 2.25.0

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