bake-toolkit 2.28.0 → 2.28.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/_build/html/_sources/changelog.txt +3 -0
  3. data/documentation/_build/html/_sources/index.txt +1 -1
  4. data/documentation/_build/html/_static/logo_tiny_48.png +0 -0
  5. data/documentation/_build/html/changelog.html +1154 -1149
  6. data/documentation/_build/html/commandline/commandline.html +285 -285
  7. data/documentation/_build/html/concepts/build_hierarchy.html +204 -204
  8. data/documentation/_build/html/concepts/concepts.html +196 -196
  9. data/documentation/_build/html/concepts/inject.html +216 -216
  10. data/documentation/_build/html/concepts/link_order.html +245 -245
  11. data/documentation/_build/html/concepts/prebuild.html +205 -205
  12. data/documentation/_build/html/concepts/the_main_project.html +260 -260
  13. data/documentation/_build/html/concepts/the_project_meta_file.html +288 -288
  14. data/documentation/_build/html/genindex.html +152 -152
  15. data/documentation/_build/html/ide/eclipse/eclipse.html +186 -186
  16. data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +208 -208
  17. data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +191 -191
  18. data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +198 -198
  19. data/documentation/_build/html/ide/eclipse/how_to_debug_in_eclipse.html +198 -198
  20. data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +196 -196
  21. data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +256 -256
  22. data/documentation/_build/html/ide/ide_integrations.html +185 -185
  23. data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +171 -171
  24. data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +185 -185
  25. data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +190 -190
  26. data/documentation/_build/html/ide/vs/vs.html +170 -170
  27. data/documentation/_build/html/ide/vs/vs_install.html +202 -202
  28. data/documentation/_build/html/index.html +246 -246
  29. data/documentation/_build/html/install/install_bake.html +279 -279
  30. data/documentation/_build/html/internal.html +217 -217
  31. data/documentation/_build/html/known_issues.html +173 -173
  32. data/documentation/_build/html/license.html +236 -236
  33. data/documentation/_build/html/performance/performance.html +373 -373
  34. data/documentation/_build/html/quickstart/quickstart.html +236 -236
  35. data/documentation/_build/html/search.html +174 -174
  36. data/documentation/_build/html/searchindex.js +1 -1
  37. data/documentation/_build/html/syntax/adapt_configs.html +370 -370
  38. data/documentation/_build/html/syntax/auto_adjustment.html +189 -189
  39. data/documentation/_build/html/syntax/derive_configs.html +247 -247
  40. data/documentation/_build/html/syntax/project_meta_syntax.html +923 -923
  41. data/documentation/_build/html/syntax/syntax.html +196 -196
  42. data/documentation/_build/html/syntax/variable_substitutions.html +365 -365
  43. data/documentation/_build/html/tips_and_tricks/bakeclean.html +169 -169
  44. data/documentation/_build/html/tips_and_tricks/dot.html +186 -186
  45. data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +214 -214
  46. data/documentation/_build/html/tips_and_tricks/qac.html +297 -297
  47. data/documentation/_build/html/tips_and_tricks/the_bakery.html +405 -405
  48. data/documentation/_build/html/tips_and_tricks/the_clang.html +201 -201
  49. data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +198 -198
  50. data/documentation/_build/html/why_bake/why_bake.html +241 -241
  51. data/lib/bake/config/checks.rb +76 -68
  52. data/lib/bake/model/metamodel.rb +6 -0
  53. data/lib/common/version.rb +1 -1
  54. metadata +3 -5
  55. data/documentation/_build/html/_sources/tips_and_tricks/static_code_analysis.txt +0 -122
  56. data/documentation/_build/html/_static/logo_conformant_48.png +0 -0
  57. data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +0 -285
@@ -1,215 +1,215 @@
1
- <!DOCTYPE html>
2
-
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
-
8
- <title>How to use bake with cygwin &mdash; bake documentation</title>
9
-
10
- <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
- <link rel="stylesheet" href="../_static/bootswatch-3.3.4/sandstone/bootstrap.min.css" type="text/css" />
13
- <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
14
-
15
- <script type="text/javascript">
16
- var DOCUMENTATION_OPTIONS = {
17
- URL_ROOT: '../',
18
- VERSION: '',
19
- COLLAPSE_INDEX: false,
20
- FILE_SUFFIX: '.html',
21
- HAS_SOURCE: true
22
- };
23
- </script>
24
- <script type="text/javascript" src="../_static/jquery.js"></script>
25
- <script type="text/javascript" src="../_static/underscore.js"></script>
26
- <script type="text/javascript" src="../_static/doctools.js"></script>
27
- <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
28
- <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
29
- <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
- <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
- <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake documentation" href="../index.html" />
33
- <link rel="up" title="Additional features" href="tips_and_tricks.html" />
34
- <link rel="next" title="Clang Analyze" href="the_clang.html" />
35
- <link rel="prev" title="The Bakery" href="the_bakery.html" />
36
- <meta charset='utf-8'>
37
- <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
- <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
- <meta name="apple-mobile-web-app-capable" content="yes">
40
-
41
- </head>
42
- <body role="document">
43
-
44
- <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
- <div class="container">
46
- <div class="navbar-header">
47
- <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
- <span class="icon-bar"></span>
50
- <span class="icon-bar"></span>
51
- <span class="icon-bar"></span>
52
- </button>
53
- <a class="navbar-brand" href="../index.html"><img src="../_static/logo_conformant_48.png">
54
- </a>
55
- <span class="navbar-text navbar-version pull-left"><b></b></span>
56
- </div>
57
-
58
- <div class="collapse navbar-collapse nav-collapse">
59
- <ul class="nav navbar-nav">
60
-
61
-
62
- <li class="dropdown globaltoc-container">
63
- <a role="button"
64
- id="dLabelGlobalToc"
65
- data-toggle="dropdown"
66
- data-target="#"
67
- href="../index.html">Section <b class="caret"></b></a>
68
- <ul class="dropdown-menu globaltoc"
69
- role="menu"
70
- aria-labelledby="dLabelGlobalToc"><ul class="current">
71
- <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
- <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
- <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
- <li class="toctree-l1"><a class="reference internal" href="../concepts/concepts.html">Concepts</a></li>
75
- <li class="toctree-l1"><a class="reference internal" href="../syntax/syntax.html">Syntax</a></li>
76
- <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
- <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
- <li class="toctree-l1 current"><a class="reference internal" href="tips_and_tricks.html">Additional features</a></li>
79
- <li class="toctree-l1"><a class="reference internal" href="../performance/performance.html">Performance</a></li>
80
- <li class="toctree-l1"><a class="reference internal" href="../known_issues.html">Known Issues</a></li>
81
- <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
82
- <li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
83
- </ul>
84
- <ul>
85
- <li class="toctree-l1"><a class="reference internal" href="../internal.html">Internal developing notes</a></li>
86
- </ul>
87
- </ul>
88
- </li>
89
-
90
- <li class="dropdown">
91
- <a role="button"
92
- id="dLabelLocalToc"
93
- data-toggle="dropdown"
94
- data-target="#"
95
- href="#">SubSections <b class="caret"></b></a>
96
- <ul class="dropdown-menu localtoc"
97
- role="menu"
98
- aria-labelledby="dLabelLocalToc"><ul>
99
- <li><a class="reference internal" href="#">How to use bake with cygwin</a></li>
100
- </ul>
101
- </ul>
102
- </li>
103
-
104
-
105
-
106
-
107
-
108
- <li>
109
- <a href="the_bakery.html" title="Previous Chapter: The Bakery"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; The Bakery</span>
110
- </a>
111
- </li>
112
- <li>
113
- <a href="the_clang.html" title="Next Chapter: Clang Analyze"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Clang Analyze &raquo;</span>
114
- </a>
115
- </li>
116
-
117
-
118
-
119
-
120
-
121
- </ul>
122
-
123
-
124
-
125
- <form class="navbar-form navbar-right" action="../search.html" method="get">
126
- <div class="form-group">
127
- <input type="text" name="q" class="form-control" placeholder="Search" />
128
- </div>
129
- <input type="hidden" name="check_keywords" value="yes" />
130
- <input type="hidden" name="area" value="default" />
131
- </form>
132
-
133
- </div>
134
- </div>
135
- </div>
136
-
137
- <div class="container">
138
- <div class="row">
139
- <div class="col-md-12">
140
-
141
- <div class="section" id="how-to-use-bake-with-cygwin">
142
- <h1>How to use bake with cygwin<a class="headerlink" href="#how-to-use-bake-with-cygwin" title="Permalink to this headline">¶</a></h1>
143
- <p>Why using Cygwin on Windows instead of the built-in command shell?
144
- There is one major reason: Cygwin supports <strong>colored output</strong> via ansi escape sequences.
145
- Note, that these steps differ depending on the Cygwin version, installed packages and configuration.</p>
146
- <ol class="arabic">
147
- <li><p class="first">Get rid of the cygdrive prefix</p>
148
- <blockquote>
149
- <div><a class="reference internal image-reference" href="../_images/cygwin_mount.png"><img alt="../_images/cygwin_mount.png" src="../_images/cygwin_mount.png" style="width: 50.0%;" /></a>
150
- <p>As you see, &#8220;c:&#8221; is now &#8220;/c&#8221; and not &#8220;/cygdrive/c&#8221; anymore.</p>
151
- <div class="admonition note">
152
- <p class="first admonition-title">Note</p>
153
- <p>In newer Cygwin versions, this is not permanent. To make it permanent,
154
- add the following line to /etc/fstab (can be found in your Cygwin installation directory):</p>
155
- <div class="last highlight-console"><div class="highlight"><pre><span class="go">none / cygdrive binary,posix=0,user 0 0</span>
156
- </pre></div>
157
- </div>
158
- </div>
159
- </div></blockquote>
160
- </li>
161
- <li><p class="first">Get rid of the Cygwin ruby</p>
162
- <blockquote>
163
- <div><a class="reference internal image-reference" href="../_images/cygwin_ruby.png"><img alt="../_images/cygwin_ruby.png" src="../_images/cygwin_ruby.png" style="width: 50.0%;" /></a>
164
- <p>Easiest way is to rename the Cygwin ruby, which makes the original ruby visible.
165
- This is only necessary if you have ruby installed in our Cygwin environment.</p>
166
- </div></blockquote>
167
- </li>
168
- <li><p class="first">Add tty to CYGWIN option</p>
169
- <blockquote>
170
- <div><a class="reference internal image-reference" href="../_images/cygwin_tty.png"><img alt="../_images/cygwin_tty.png" src="../_images/cygwin_tty.png" style="width: 70.0%;" /></a>
171
- <p>&#8220;tty&#8221; must be added to the CYGWIN system variable.</p>
172
- </div></blockquote>
173
- </li>
174
- <li><p class="first">Switch to raw mode</p>
175
- <blockquote>
176
- <div><p>The ctrl-c handler in Cygwin only works for programs compiled with the correct Cygwin libs. This does not apply to
177
- most ruby installations. Hitting ctrl-c may interrupt the compiler, but bake does not get this signal.</p>
178
- <p>You can set the Cygwin console to raw mode:</p>
179
- <div class="highlight-console"><div class="highlight"><pre><span class="go">stty raw</span>
180
- </pre></div>
181
- </div>
182
- <p>Now bake can read ctrl-c as raw character on stdin. Bake will abort after all subprocesses - like the running compilation steps - have returned.</p>
183
- </div></blockquote>
184
- </li>
185
- <li><p class="first">Start the build</p>
186
- <blockquote>
187
- <div><p>Use the parameter &#8220;-a black&#8221; or &#8220;-a white&#8221; depending on the background color of your shell.
188
- Depending on your Cygwin installation, you have to call &#8220;bake.bat&#8221; instead of &#8220;bake&#8221;. To avoid this, create an alias, e.g:</p>
189
- <div class="highlight-console"><div class="highlight"><pre><span class="go">alias bake=/c/Programme/_dev/Ruby192/bin/bake.bat</span>
190
- </pre></div>
191
- </div>
192
- </div></blockquote>
193
- </li>
194
- </ol>
195
- </div>
196
-
197
-
198
- </div>
199
-
200
- </div>
201
- </div>
202
- <footer class="footer">
203
- <div class="container">
204
- <p class="pull-right">
205
- <a href="#">Back to top</a>
206
-
207
- </p>
208
- <p>
209
- &copy; Copyright 2016, E.S.R.Labs AG.<br/>
210
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
211
- </p>
212
- </div>
213
- </footer>
214
- </body>
1
+ <!DOCTYPE html>
2
+
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml">
5
+ <head>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+
8
+ <title>How to use bake with cygwin &mdash; bake documentation</title>
9
+
10
+ <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
+ <link rel="stylesheet" href="../_static/bootswatch-3.3.4/sandstone/bootstrap.min.css" type="text/css" />
13
+ <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
14
+
15
+ <script type="text/javascript">
16
+ var DOCUMENTATION_OPTIONS = {
17
+ URL_ROOT: '../',
18
+ VERSION: '',
19
+ COLLAPSE_INDEX: false,
20
+ FILE_SUFFIX: '.html',
21
+ HAS_SOURCE: true
22
+ };
23
+ </script>
24
+ <script type="text/javascript" src="../_static/jquery.js"></script>
25
+ <script type="text/javascript" src="../_static/underscore.js"></script>
26
+ <script type="text/javascript" src="../_static/doctools.js"></script>
27
+ <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
28
+ <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
29
+ <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
+ <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
+ <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
+ <link rel="up" title="Additional features" href="tips_and_tricks.html" />
34
+ <link rel="next" title="Clang Analyze" href="the_clang.html" />
35
+ <link rel="prev" title="The Bakery" href="the_bakery.html" />
36
+ <meta charset='utf-8'>
37
+ <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
+ <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
+ <meta name="apple-mobile-web-app-capable" content="yes">
40
+
41
+ </head>
42
+ <body role="document">
43
+
44
+ <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
+ <div class="container">
46
+ <div class="navbar-header">
47
+ <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
+ <span class="icon-bar"></span>
50
+ <span class="icon-bar"></span>
51
+ <span class="icon-bar"></span>
52
+ </button>
53
+ <a class="navbar-brand" href="../index.html"><img src="../_static/logo_tiny_48.png">
54
+ </a>
55
+ <span class="navbar-text navbar-version pull-left"><b></b></span>
56
+ </div>
57
+
58
+ <div class="collapse navbar-collapse nav-collapse">
59
+ <ul class="nav navbar-nav">
60
+
61
+
62
+ <li class="dropdown globaltoc-container">
63
+ <a role="button"
64
+ id="dLabelGlobalToc"
65
+ data-toggle="dropdown"
66
+ data-target="#"
67
+ href="../index.html">Section <b class="caret"></b></a>
68
+ <ul class="dropdown-menu globaltoc"
69
+ role="menu"
70
+ aria-labelledby="dLabelGlobalToc"><ul class="current">
71
+ <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
+ <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
+ <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
+ <li class="toctree-l1"><a class="reference internal" href="../concepts/concepts.html">Concepts</a></li>
75
+ <li class="toctree-l1"><a class="reference internal" href="../syntax/syntax.html">Syntax</a></li>
76
+ <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
+ <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
+ <li class="toctree-l1 current"><a class="reference internal" href="tips_and_tricks.html">Additional features</a></li>
79
+ <li class="toctree-l1"><a class="reference internal" href="../performance/performance.html">Performance</a></li>
80
+ <li class="toctree-l1"><a class="reference internal" href="../known_issues.html">Known Issues</a></li>
81
+ <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
82
+ <li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
83
+ </ul>
84
+ <ul>
85
+ <li class="toctree-l1"><a class="reference internal" href="../internal.html">Internal developing notes</a></li>
86
+ </ul>
87
+ </ul>
88
+ </li>
89
+
90
+ <li class="dropdown">
91
+ <a role="button"
92
+ id="dLabelLocalToc"
93
+ data-toggle="dropdown"
94
+ data-target="#"
95
+ href="#">SubSections <b class="caret"></b></a>
96
+ <ul class="dropdown-menu localtoc"
97
+ role="menu"
98
+ aria-labelledby="dLabelLocalToc"><ul>
99
+ <li><a class="reference internal" href="#">How to use bake with cygwin</a></li>
100
+ </ul>
101
+ </ul>
102
+ </li>
103
+
104
+
105
+
106
+
107
+
108
+ <li>
109
+ <a href="the_bakery.html" title="Previous Chapter: The Bakery"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; The Bakery</span>
110
+ </a>
111
+ </li>
112
+ <li>
113
+ <a href="the_clang.html" title="Next Chapter: Clang Analyze"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Clang Analyze &raquo;</span>
114
+ </a>
115
+ </li>
116
+
117
+
118
+
119
+
120
+
121
+ </ul>
122
+
123
+
124
+
125
+ <form class="navbar-form navbar-right" action="../search.html" method="get">
126
+ <div class="form-group">
127
+ <input type="text" name="q" class="form-control" placeholder="Search" />
128
+ </div>
129
+ <input type="hidden" name="check_keywords" value="yes" />
130
+ <input type="hidden" name="area" value="default" />
131
+ </form>
132
+
133
+ </div>
134
+ </div>
135
+ </div>
136
+
137
+ <div class="container">
138
+ <div class="row">
139
+ <div class="col-md-12">
140
+
141
+ <div class="section" id="how-to-use-bake-with-cygwin">
142
+ <h1>How to use bake with cygwin<a class="headerlink" href="#how-to-use-bake-with-cygwin" title="Permalink to this headline">¶</a></h1>
143
+ <p>Why using Cygwin on Windows instead of the built-in command shell?
144
+ There is one major reason: Cygwin supports <strong>colored output</strong> via ansi escape sequences.
145
+ Note, that these steps differ depending on the Cygwin version, installed packages and configuration.</p>
146
+ <ol class="arabic">
147
+ <li><p class="first">Get rid of the cygdrive prefix</p>
148
+ <blockquote>
149
+ <div><a class="reference internal image-reference" href="../_images/cygwin_mount.png"><img alt="../_images/cygwin_mount.png" src="../_images/cygwin_mount.png" style="width: 50.0%;" /></a>
150
+ <p>As you see, &#8220;c:&#8221; is now &#8220;/c&#8221; and not &#8220;/cygdrive/c&#8221; anymore.</p>
151
+ <div class="admonition note">
152
+ <p class="first admonition-title">Note</p>
153
+ <p>In newer Cygwin versions, this is not permanent. To make it permanent,
154
+ add the following line to /etc/fstab (can be found in your Cygwin installation directory):</p>
155
+ <div class="last highlight-console"><div class="highlight"><pre><span class="go">none / cygdrive binary,posix=0,user 0 0</span>
156
+ </pre></div>
157
+ </div>
158
+ </div>
159
+ </div></blockquote>
160
+ </li>
161
+ <li><p class="first">Get rid of the Cygwin ruby</p>
162
+ <blockquote>
163
+ <div><a class="reference internal image-reference" href="../_images/cygwin_ruby.png"><img alt="../_images/cygwin_ruby.png" src="../_images/cygwin_ruby.png" style="width: 50.0%;" /></a>
164
+ <p>Easiest way is to rename the Cygwin ruby, which makes the original ruby visible.
165
+ This is only necessary if you have ruby installed in our Cygwin environment.</p>
166
+ </div></blockquote>
167
+ </li>
168
+ <li><p class="first">Add tty to CYGWIN option</p>
169
+ <blockquote>
170
+ <div><a class="reference internal image-reference" href="../_images/cygwin_tty.png"><img alt="../_images/cygwin_tty.png" src="../_images/cygwin_tty.png" style="width: 70.0%;" /></a>
171
+ <p>&#8220;tty&#8221; must be added to the CYGWIN system variable.</p>
172
+ </div></blockquote>
173
+ </li>
174
+ <li><p class="first">Switch to raw mode</p>
175
+ <blockquote>
176
+ <div><p>The ctrl-c handler in Cygwin only works for programs compiled with the correct Cygwin libs. This does not apply to
177
+ most ruby installations. Hitting ctrl-c may interrupt the compiler, but bake does not get this signal.</p>
178
+ <p>You can set the Cygwin console to raw mode:</p>
179
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">stty raw</span>
180
+ </pre></div>
181
+ </div>
182
+ <p>Now bake can read ctrl-c as raw character on stdin. Bake will abort after all subprocesses - like the running compilation steps - have returned.</p>
183
+ </div></blockquote>
184
+ </li>
185
+ <li><p class="first">Start the build</p>
186
+ <blockquote>
187
+ <div><p>Use the parameter &#8220;-a black&#8221; or &#8220;-a white&#8221; depending on the background color of your shell.
188
+ Depending on your Cygwin installation, you have to call &#8220;bake.bat&#8221; instead of &#8220;bake&#8221;. To avoid this, create an alias, e.g:</p>
189
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">alias bake=/c/Programme/_dev/Ruby192/bin/bake.bat</span>
190
+ </pre></div>
191
+ </div>
192
+ </div></blockquote>
193
+ </li>
194
+ </ol>
195
+ </div>
196
+
197
+
198
+ </div>
199
+
200
+ </div>
201
+ </div>
202
+ <footer class="footer">
203
+ <div class="container">
204
+ <p class="pull-right">
205
+ <a href="#">Back to top</a>
206
+
207
+ </p>
208
+ <p>
209
+ &copy; Copyright 2016, E.S.R.Labs AG.<br/>
210
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
211
+ </p>
212
+ </div>
213
+ </footer>
214
+ </body>
215
215
  </html>
@@ -1,298 +1,298 @@
1
- <!DOCTYPE html>
2
-
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
-
8
- <title>QACPP &mdash; bake documentation</title>
9
-
10
- <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
- <link rel="stylesheet" href="../_static/bootswatch-3.3.4/sandstone/bootstrap.min.css" type="text/css" />
13
- <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
14
-
15
- <script type="text/javascript">
16
- var DOCUMENTATION_OPTIONS = {
17
- URL_ROOT: '../',
18
- VERSION: '',
19
- COLLAPSE_INDEX: false,
20
- FILE_SUFFIX: '.html',
21
- HAS_SOURCE: true
22
- };
23
- </script>
24
- <script type="text/javascript" src="../_static/jquery.js"></script>
25
- <script type="text/javascript" src="../_static/underscore.js"></script>
26
- <script type="text/javascript" src="../_static/doctools.js"></script>
27
- <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
28
- <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
29
- <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
- <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
- <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
- <link rel="top" title="bake documentation" href="../index.html" />
33
- <link rel="up" title="Additional features" href="tips_and_tricks.html" />
34
- <link rel="next" title="bakeclean" href="bakeclean.html" />
35
- <link rel="prev" title="Generating dot graphs" href="dot.html" />
36
- <meta charset='utf-8'>
37
- <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
- <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
- <meta name="apple-mobile-web-app-capable" content="yes">
40
-
41
- </head>
42
- <body role="document">
43
-
44
- <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
- <div class="container">
46
- <div class="navbar-header">
47
- <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
- <span class="icon-bar"></span>
50
- <span class="icon-bar"></span>
51
- <span class="icon-bar"></span>
52
- </button>
53
- <a class="navbar-brand" href="../index.html"><img src="../_static/logo_conformant_48.png">
54
- </a>
55
- <span class="navbar-text navbar-version pull-left"><b></b></span>
56
- </div>
57
-
58
- <div class="collapse navbar-collapse nav-collapse">
59
- <ul class="nav navbar-nav">
60
-
61
-
62
- <li class="dropdown globaltoc-container">
63
- <a role="button"
64
- id="dLabelGlobalToc"
65
- data-toggle="dropdown"
66
- data-target="#"
67
- href="../index.html">Section <b class="caret"></b></a>
68
- <ul class="dropdown-menu globaltoc"
69
- role="menu"
70
- aria-labelledby="dLabelGlobalToc"><ul class="current">
71
- <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
- <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
- <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
- <li class="toctree-l1"><a class="reference internal" href="../concepts/concepts.html">Concepts</a></li>
75
- <li class="toctree-l1"><a class="reference internal" href="../syntax/syntax.html">Syntax</a></li>
76
- <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
- <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
- <li class="toctree-l1 current"><a class="reference internal" href="tips_and_tricks.html">Additional features</a></li>
79
- <li class="toctree-l1"><a class="reference internal" href="../performance/performance.html">Performance</a></li>
80
- <li class="toctree-l1"><a class="reference internal" href="../known_issues.html">Known Issues</a></li>
81
- <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
82
- <li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
83
- </ul>
84
- <ul>
85
- <li class="toctree-l1"><a class="reference internal" href="../internal.html">Internal developing notes</a></li>
86
- </ul>
87
- </ul>
88
- </li>
89
-
90
- <li class="dropdown">
91
- <a role="button"
92
- id="dLabelLocalToc"
93
- data-toggle="dropdown"
94
- data-target="#"
95
- href="#">SubSections <b class="caret"></b></a>
96
- <ul class="dropdown-menu localtoc"
97
- role="menu"
98
- aria-labelledby="dLabelLocalToc"><ul>
99
- <li><a class="reference internal" href="#">QACPP</a><ul>
100
- <li><a class="reference internal" href="#without-bakeqac">Without bakeqac</a></li>
101
- <li><a class="reference internal" href="#with-bakeqac">With bakeqac</a></li>
102
- <li><a class="reference internal" href="#step-1-admin">Step 1: admin</a></li>
103
- <li><a class="reference internal" href="#step-2-analyze">Step 2: analyze</a></li>
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>
106
- <li><a class="reference internal" href="#additional-options">Additional options</a></li>
107
- <li><a class="reference internal" href="#notes">Notes</a></li>
108
- <li><a class="reference internal" href="#example-output">Example output</a></li>
109
- </ul>
110
- </li>
111
- </ul>
112
- </ul>
113
- </li>
114
-
115
-
116
-
117
-
118
-
119
- <li>
120
- <a href="dot.html" title="Previous Chapter: Generating dot graphs"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Generating do...</span>
121
- </a>
122
- </li>
123
- <li>
124
- <a href="bakeclean.html" title="Next Chapter: bakeclean"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">bakeclean &raquo;</span>
125
- </a>
126
- </li>
127
-
128
-
129
-
130
-
131
-
132
- </ul>
133
-
134
-
135
-
136
- <form class="navbar-form navbar-right" action="../search.html" method="get">
137
- <div class="form-group">
138
- <input type="text" name="q" class="form-control" placeholder="Search" />
139
- </div>
140
- <input type="hidden" name="check_keywords" value="yes" />
141
- <input type="hidden" name="area" value="default" />
142
- </form>
143
-
144
- </div>
145
- </div>
146
- </div>
147
-
148
- <div class="container">
149
- <div class="row">
150
- <div class="col-md-12">
151
-
152
- <div class="section" id="qacpp">
153
- <h1>QACPP<a class="headerlink" href="#qacpp" title="Permalink to this headline">¶</a></h1>
154
- <p>bakeqac is a convenience wrapper for QACPP with some nice features.</p>
155
- <div class="section" id="without-bakeqac">
156
- <h2>Without bakeqac<a class="headerlink" href="#without-bakeqac" title="Permalink to this headline">¶</a></h2>
157
- <p>QACPP can be called directly from command line:</p>
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>
159
- <span class="go">qacli analyze -P qacdata -b &lt;bake call&gt;</span>
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>
162
- </pre></div>
163
- </div>
164
- <ul class="simple">
165
- <li>The first command creates the qac project database.</li>
166
- <li>The second command builds and analyzes the files.</li>
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>
169
- </ul>
170
- </div>
171
- <div class="section" id="with-bakeqac">
172
- <h2>With bakeqac<a class="headerlink" href="#with-bakeqac" title="Permalink to this headline">¶</a></h2>
173
- <p>Instead of writing</p>
174
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bake &lt;options&gt;</span>
175
- </pre></div>
176
- </div>
177
- <p>for regular build, simply write:</p>
178
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt;</span>
179
- </pre></div>
180
- </div>
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>
182
- <p>You can also choose certain steps (can be combined with &#8220;|&#8221;):</p>
183
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacstep admin|analyze|view|report</span>
184
- <span class="go">bakeqac &lt;options&gt; --qacstep admin</span>
185
- <span class="go">etc.</span>
186
- </pre></div>
187
- </div>
188
- </div>
189
- <div class="section" id="step-1-admin">
190
- <h2>Step 1: admin<a class="headerlink" href="#step-1-admin" title="Permalink to this headline">¶</a></h2>
191
- <p>You have to set the environment variable QAC_HOME, e.g. to <em>c:\tools\prqa\PRQA-Framework-2.1.0</em>. If not specified otherwise, cct, rcf and acf will be automatically chosen.</p>
192
- <ul>
193
- <li><p class="first">Configuration compiler template (cct): Only GCC is supported. bakeqac tries to get the platform and the GCC version and calculates the path to the right cct file. To overwrite this behaviour, specify one or more ccts:</p>
194
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --cct &lt;first&gt; --cct &lt;second&gt;</span>
195
- </pre></div>
196
- </div>
197
- <p>Alternatively, you can add</p>
198
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --c++11</span>
199
- <span class="go">bakeqac &lt;options&gt; --c++14</span>
200
- </pre></div>
201
- </div>
202
- <p>to enforce bakeqac choosing the C++11 or C++14 toolchain.</p>
203
- <p>If &#8211;cct is not used, bakeqac uses a built-in cct file as mentioned above. Additionally, it searched for a file named qac.cct up to root and appends the content to the original cct file.
204
- This may be used to add additional configuration parameters which are compiler independent, e.q. &#8220;-n 1234&#8221; suppresses warning 1234.</p>
205
- </li>
206
- <li><p class="first">Rule configuration file (rcf): Can be specified with:</p>
207
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --rcf &lt;rcf&gt;</span>
208
- </pre></div>
209
- </div>
210
- <p>If not specified, bakeqac uses $(QAC_HOME)/config/rcf/mcpp-1_5_1-en_US.rcf.</p>
211
- </li>
212
- <li><p class="first">Analysis configuration file (acf): Can be specified with:</p>
213
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --acf &lt;acf&gt;</span>
214
- </pre></div>
215
- </div>
216
- <p>If not specified, $(QAC_HOME)/config/acf/default.acf will be used.</p>
217
- </li>
218
- <li><p class="first">You can also specify the qacdata folder, default is <em>.qacdata</em>:</p>
219
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacdata anotherFolder</span>
220
- </pre></div>
221
- </div>
222
- </li>
223
- </ul>
224
- </div>
225
- <div class="section" id="step-2-analyze">
226
- <h2>Step 2: analyze<a class="headerlink" href="#step-2-analyze" title="Permalink to this headline">¶</a></h2>
227
- <p>This is the main step. Use exactly the same options for bakeqac as for bake. A few things have to be mentioned:</p>
228
- <ul class="simple">
229
- <li><em>&#8211;compile-only</em> will be automatically added</li>
230
- <li><em>&#8211;rebuild</em> will be automatically added</li>
231
- </ul>
232
- <p>The output will be filtered per default (e.g. some warnings) . To get unfiltered output, write:</p>
233
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacnofilter</span>
234
- </pre></div>
235
- </div>
236
- </div>
237
- <div class="section" id="step-3-view">
238
- <h2>Step 3: view<a class="headerlink" href="#step-3-view" title="Permalink to this headline">¶</a></h2>
239
- <p>Results are also filtered in this step if not specified otherwise:</p>
240
- <ul class="simple">
241
- <li>Only results from compiled bake projects will be shown (which does not apply to e.g. compiler libraries). To narrow the results, use the <em>-p</em> option.</li>
242
- <li>Files from subfolders test and mock will be filtered out.</li>
243
- <li>Files from projects gtest and gmock will be filtered out.</li>
244
- </ul>
245
- <p>bakeqac slightly reformats the output (originally the violated MISRA rule numbers are printed out incomplete). To switch back to raw format, use:</p>
246
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacrawformat</span>
247
- </pre></div>
248
- </div>
249
- <p>To get additional links to the appropriate documentation pages use:</p>
250
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacdoc</span>
251
- </pre></div>
252
- </div>
253
- <p>Colored output is also supported similar to bake:</p>
254
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; -a &lt;color_scheme&gt;</span>
255
- </pre></div>
256
- </div>
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>
262
- <div class="section" id="additional-options">
263
- <h2>Additional options<a class="headerlink" href="#additional-options" title="Permalink to this headline">¶</a></h2>
264
- <p>QACPP needs a license. If floating licenses are not available, bakeqac can retry to checkout them:</p>
265
- <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacretry &lt;seconds&gt;</span>
266
- </pre></div>
267
- </div>
268
- <p>Steps &#8220;analyze&#8221; and &#8220;view&#8221; are retried until timeout is reached.</p>
269
- </div>
270
- <div class="section" id="notes">
271
- <h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">¶</a></h2>
272
- <p>If &#8220;&lt;mainConfigName&gt;Qac&#8221; is found in main project, it will be used instead of &#8220;&lt;mainConfigName&gt;. This is useful if the unit test has to be built different to MISRA.</p>
273
- </div>
274
- <div class="section" id="example-output">
275
- <h2>Example output<a class="headerlink" href="#example-output" title="Permalink to this headline">¶</a></h2>
276
- <img alt="../_images/misra.png" src="../_images/misra.png" />
277
- </div>
278
- </div>
279
-
280
-
281
- </div>
282
-
283
- </div>
284
- </div>
285
- <footer class="footer">
286
- <div class="container">
287
- <p class="pull-right">
288
- <a href="#">Back to top</a>
289
-
290
- </p>
291
- <p>
292
- &copy; Copyright 2016, E.S.R.Labs AG.<br/>
293
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
294
- </p>
295
- </div>
296
- </footer>
297
- </body>
1
+ <!DOCTYPE html>
2
+
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml">
5
+ <head>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+
8
+ <title>QACPP &mdash; bake documentation</title>
9
+
10
+ <link rel="stylesheet" href="../_static/basic.css" type="text/css" />
11
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12
+ <link rel="stylesheet" href="../_static/bootswatch-3.3.4/sandstone/bootstrap.min.css" type="text/css" />
13
+ <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
14
+
15
+ <script type="text/javascript">
16
+ var DOCUMENTATION_OPTIONS = {
17
+ URL_ROOT: '../',
18
+ VERSION: '',
19
+ COLLAPSE_INDEX: false,
20
+ FILE_SUFFIX: '.html',
21
+ HAS_SOURCE: true
22
+ };
23
+ </script>
24
+ <script type="text/javascript" src="../_static/jquery.js"></script>
25
+ <script type="text/javascript" src="../_static/underscore.js"></script>
26
+ <script type="text/javascript" src="../_static/doctools.js"></script>
27
+ <script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
28
+ <script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
29
+ <script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
30
+ <script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
31
+ <link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
32
+ <link rel="top" title="bake documentation" href="../index.html" />
33
+ <link rel="up" title="Additional features" href="tips_and_tricks.html" />
34
+ <link rel="next" title="bakeclean" href="bakeclean.html" />
35
+ <link rel="prev" title="Generating dot graphs" href="dot.html" />
36
+ <meta charset='utf-8'>
37
+ <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
38
+ <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
39
+ <meta name="apple-mobile-web-app-capable" content="yes">
40
+
41
+ </head>
42
+ <body role="document">
43
+
44
+ <div id="navbar" class="navbar navbar-default navbar-fixed-top">
45
+ <div class="container">
46
+ <div class="navbar-header">
47
+ <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
48
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
49
+ <span class="icon-bar"></span>
50
+ <span class="icon-bar"></span>
51
+ <span class="icon-bar"></span>
52
+ </button>
53
+ <a class="navbar-brand" href="../index.html"><img src="../_static/logo_tiny_48.png">
54
+ </a>
55
+ <span class="navbar-text navbar-version pull-left"><b></b></span>
56
+ </div>
57
+
58
+ <div class="collapse navbar-collapse nav-collapse">
59
+ <ul class="nav navbar-nav">
60
+
61
+
62
+ <li class="dropdown globaltoc-container">
63
+ <a role="button"
64
+ id="dLabelGlobalToc"
65
+ data-toggle="dropdown"
66
+ data-target="#"
67
+ href="../index.html">Section <b class="caret"></b></a>
68
+ <ul class="dropdown-menu globaltoc"
69
+ role="menu"
70
+ aria-labelledby="dLabelGlobalToc"><ul class="current">
71
+ <li class="toctree-l1"><a class="reference internal" href="../why_bake/why_bake.html">Why you should use bake</a></li>
72
+ <li class="toctree-l1"><a class="reference internal" href="../install/install_bake.html">Install bake</a></li>
73
+ <li class="toctree-l1"><a class="reference internal" href="../quickstart/quickstart.html">Quickstart</a></li>
74
+ <li class="toctree-l1"><a class="reference internal" href="../concepts/concepts.html">Concepts</a></li>
75
+ <li class="toctree-l1"><a class="reference internal" href="../syntax/syntax.html">Syntax</a></li>
76
+ <li class="toctree-l1"><a class="reference internal" href="../commandline/commandline.html">Commandline</a></li>
77
+ <li class="toctree-l1"><a class="reference internal" href="../ide/ide_integrations.html">IDE Support</a></li>
78
+ <li class="toctree-l1 current"><a class="reference internal" href="tips_and_tricks.html">Additional features</a></li>
79
+ <li class="toctree-l1"><a class="reference internal" href="../performance/performance.html">Performance</a></li>
80
+ <li class="toctree-l1"><a class="reference internal" href="../known_issues.html">Known Issues</a></li>
81
+ <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
82
+ <li class="toctree-l1"><a class="reference internal" href="../license.html">License</a></li>
83
+ </ul>
84
+ <ul>
85
+ <li class="toctree-l1"><a class="reference internal" href="../internal.html">Internal developing notes</a></li>
86
+ </ul>
87
+ </ul>
88
+ </li>
89
+
90
+ <li class="dropdown">
91
+ <a role="button"
92
+ id="dLabelLocalToc"
93
+ data-toggle="dropdown"
94
+ data-target="#"
95
+ href="#">SubSections <b class="caret"></b></a>
96
+ <ul class="dropdown-menu localtoc"
97
+ role="menu"
98
+ aria-labelledby="dLabelLocalToc"><ul>
99
+ <li><a class="reference internal" href="#">QACPP</a><ul>
100
+ <li><a class="reference internal" href="#without-bakeqac">Without bakeqac</a></li>
101
+ <li><a class="reference internal" href="#with-bakeqac">With bakeqac</a></li>
102
+ <li><a class="reference internal" href="#step-1-admin">Step 1: admin</a></li>
103
+ <li><a class="reference internal" href="#step-2-analyze">Step 2: analyze</a></li>
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>
106
+ <li><a class="reference internal" href="#additional-options">Additional options</a></li>
107
+ <li><a class="reference internal" href="#notes">Notes</a></li>
108
+ <li><a class="reference internal" href="#example-output">Example output</a></li>
109
+ </ul>
110
+ </li>
111
+ </ul>
112
+ </ul>
113
+ </li>
114
+
115
+
116
+
117
+
118
+
119
+ <li>
120
+ <a href="dot.html" title="Previous Chapter: Generating dot graphs"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Generating do...</span>
121
+ </a>
122
+ </li>
123
+ <li>
124
+ <a href="bakeclean.html" title="Next Chapter: bakeclean"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">bakeclean &raquo;</span>
125
+ </a>
126
+ </li>
127
+
128
+
129
+
130
+
131
+
132
+ </ul>
133
+
134
+
135
+
136
+ <form class="navbar-form navbar-right" action="../search.html" method="get">
137
+ <div class="form-group">
138
+ <input type="text" name="q" class="form-control" placeholder="Search" />
139
+ </div>
140
+ <input type="hidden" name="check_keywords" value="yes" />
141
+ <input type="hidden" name="area" value="default" />
142
+ </form>
143
+
144
+ </div>
145
+ </div>
146
+ </div>
147
+
148
+ <div class="container">
149
+ <div class="row">
150
+ <div class="col-md-12">
151
+
152
+ <div class="section" id="qacpp">
153
+ <h1>QACPP<a class="headerlink" href="#qacpp" title="Permalink to this headline">¶</a></h1>
154
+ <p>bakeqac is a convenience wrapper for QACPP with some nice features.</p>
155
+ <div class="section" id="without-bakeqac">
156
+ <h2>Without bakeqac<a class="headerlink" href="#without-bakeqac" title="Permalink to this headline">¶</a></h2>
157
+ <p>QACPP can be called directly from command line:</p>
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>
159
+ <span class="go">qacli analyze -P qacdata -b &lt;bake call&gt;</span>
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>
162
+ </pre></div>
163
+ </div>
164
+ <ul class="simple">
165
+ <li>The first command creates the qac project database.</li>
166
+ <li>The second command builds and analyzes the files.</li>
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>
169
+ </ul>
170
+ </div>
171
+ <div class="section" id="with-bakeqac">
172
+ <h2>With bakeqac<a class="headerlink" href="#with-bakeqac" title="Permalink to this headline">¶</a></h2>
173
+ <p>Instead of writing</p>
174
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bake &lt;options&gt;</span>
175
+ </pre></div>
176
+ </div>
177
+ <p>for regular build, simply write:</p>
178
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt;</span>
179
+ </pre></div>
180
+ </div>
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>
182
+ <p>You can also choose certain steps (can be combined with &#8220;|&#8221;):</p>
183
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacstep admin|analyze|view|report</span>
184
+ <span class="go">bakeqac &lt;options&gt; --qacstep admin</span>
185
+ <span class="go">etc.</span>
186
+ </pre></div>
187
+ </div>
188
+ </div>
189
+ <div class="section" id="step-1-admin">
190
+ <h2>Step 1: admin<a class="headerlink" href="#step-1-admin" title="Permalink to this headline">¶</a></h2>
191
+ <p>You have to set the environment variable QAC_HOME, e.g. to <em>c:\tools\prqa\PRQA-Framework-2.1.0</em>. If not specified otherwise, cct, rcf and acf will be automatically chosen.</p>
192
+ <ul>
193
+ <li><p class="first">Configuration compiler template (cct): Only GCC is supported. bakeqac tries to get the platform and the GCC version and calculates the path to the right cct file. To overwrite this behaviour, specify one or more ccts:</p>
194
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --cct &lt;first&gt; --cct &lt;second&gt;</span>
195
+ </pre></div>
196
+ </div>
197
+ <p>Alternatively, you can add</p>
198
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --c++11</span>
199
+ <span class="go">bakeqac &lt;options&gt; --c++14</span>
200
+ </pre></div>
201
+ </div>
202
+ <p>to enforce bakeqac choosing the C++11 or C++14 toolchain.</p>
203
+ <p>If &#8211;cct is not used, bakeqac uses a built-in cct file as mentioned above. Additionally, it searched for a file named qac.cct up to root and appends the content to the original cct file.
204
+ This may be used to add additional configuration parameters which are compiler independent, e.q. &#8220;-n 1234&#8221; suppresses warning 1234.</p>
205
+ </li>
206
+ <li><p class="first">Rule configuration file (rcf): Can be specified with:</p>
207
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --rcf &lt;rcf&gt;</span>
208
+ </pre></div>
209
+ </div>
210
+ <p>If not specified, bakeqac uses $(QAC_HOME)/config/rcf/mcpp-1_5_1-en_US.rcf.</p>
211
+ </li>
212
+ <li><p class="first">Analysis configuration file (acf): Can be specified with:</p>
213
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --acf &lt;acf&gt;</span>
214
+ </pre></div>
215
+ </div>
216
+ <p>If not specified, $(QAC_HOME)/config/acf/default.acf will be used.</p>
217
+ </li>
218
+ <li><p class="first">You can also specify the qacdata folder, default is <em>.qacdata</em>:</p>
219
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacdata anotherFolder</span>
220
+ </pre></div>
221
+ </div>
222
+ </li>
223
+ </ul>
224
+ </div>
225
+ <div class="section" id="step-2-analyze">
226
+ <h2>Step 2: analyze<a class="headerlink" href="#step-2-analyze" title="Permalink to this headline">¶</a></h2>
227
+ <p>This is the main step. Use exactly the same options for bakeqac as for bake. A few things have to be mentioned:</p>
228
+ <ul class="simple">
229
+ <li><em>&#8211;compile-only</em> will be automatically added</li>
230
+ <li><em>&#8211;rebuild</em> will be automatically added</li>
231
+ </ul>
232
+ <p>The output will be filtered per default (e.g. some warnings) . To get unfiltered output, write:</p>
233
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacnofilter</span>
234
+ </pre></div>
235
+ </div>
236
+ </div>
237
+ <div class="section" id="step-3-view">
238
+ <h2>Step 3: view<a class="headerlink" href="#step-3-view" title="Permalink to this headline">¶</a></h2>
239
+ <p>Results are also filtered in this step if not specified otherwise:</p>
240
+ <ul class="simple">
241
+ <li>Only results from compiled bake projects will be shown (which does not apply to e.g. compiler libraries). To narrow the results, use the <em>-p</em> option.</li>
242
+ <li>Files from subfolders test and mock will be filtered out.</li>
243
+ <li>Files from projects gtest and gmock will be filtered out.</li>
244
+ </ul>
245
+ <p>bakeqac slightly reformats the output (originally the violated MISRA rule numbers are printed out incomplete). To switch back to raw format, use:</p>
246
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacrawformat</span>
247
+ </pre></div>
248
+ </div>
249
+ <p>To get additional links to the appropriate documentation pages use:</p>
250
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacdoc</span>
251
+ </pre></div>
252
+ </div>
253
+ <p>Colored output is also supported similar to bake:</p>
254
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; -a &lt;color_scheme&gt;</span>
255
+ </pre></div>
256
+ </div>
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>
262
+ <div class="section" id="additional-options">
263
+ <h2>Additional options<a class="headerlink" href="#additional-options" title="Permalink to this headline">¶</a></h2>
264
+ <p>QACPP needs a license. If floating licenses are not available, bakeqac can retry to checkout them:</p>
265
+ <div class="highlight-console"><div class="highlight"><pre><span class="go">bakeqac &lt;options&gt; --qacretry &lt;seconds&gt;</span>
266
+ </pre></div>
267
+ </div>
268
+ <p>Steps &#8220;analyze&#8221; and &#8220;view&#8221; are retried until timeout is reached.</p>
269
+ </div>
270
+ <div class="section" id="notes">
271
+ <h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">¶</a></h2>
272
+ <p>If &#8220;&lt;mainConfigName&gt;Qac&#8221; is found in main project, it will be used instead of &#8220;&lt;mainConfigName&gt;. This is useful if the unit test has to be built different to MISRA.</p>
273
+ </div>
274
+ <div class="section" id="example-output">
275
+ <h2>Example output<a class="headerlink" href="#example-output" title="Permalink to this headline">¶</a></h2>
276
+ <img alt="../_images/misra.png" src="../_images/misra.png" />
277
+ </div>
278
+ </div>
279
+
280
+
281
+ </div>
282
+
283
+ </div>
284
+ </div>
285
+ <footer class="footer">
286
+ <div class="container">
287
+ <p class="pull-right">
288
+ <a href="#">Back to top</a>
289
+
290
+ </p>
291
+ <p>
292
+ &copy; Copyright 2016, E.S.R.Labs AG.<br/>
293
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
294
+ </p>
295
+ </div>
296
+ </footer>
297
+ </body>
298
298
  </html>