/*
The entire contents of this entry constitute a configuration file
with options to use the correct output format for Visual Studio
integration. This file can be saved and used where "env-vc10.lnt"
is mentioned.
This entry describes adding a menu option to run PC-lint Plus.
You must generate a compiler and project configuration separately.
See section 2.3 of the PDF reference manual.
If you are using Microsoft Visual Studio and you wish to invoke
PC-lint from that environment then add one or more commands to the
Tools menu as follows.
Simple Check
------------
For example, to add a simple facility to lint the current file you
may do the following:
1. From the Tools Menu choose "External Tools ..."
2. Click the "Add" button.
3. You will now be able to enter the fields of this Tool.
Modify them so that they approximate the following:
Title: PC-lint (Simple Check)
Command: c:\lint\lint-nt.exe
Arguments:
-i"c:\lint" std.lnt env-vc10.lnt "$(ItemFileName)$(ItemExt)"
Initial Directory: $(ItemDir)
X_Use Output Window __Prompt for arguments __Close on exit
Please note that you will have to change the "Command:" path if
the PC-lint Installation Directory is anything other than c:\lint
and you will have to change the "Arguments:" line if the
Configuration Directory is anything other than c:\lint
4. Select OK to return to the main environment.
This will result in the Tools menu containing the additional item
"PC-lint (Simple Check)". Checking 'X' on 'Use Output Window' is
important because in this way you can advance from error to error
using the F8 key (Shift F8 to reverse).
Strings of the form $(...) are called macros and can be typed in
directly as shown or can be selected from a menu by clicking
a right arrow in the dialog box. $(ItemFileName) refers to the
file name of the currently edited file without its path and without
its extension. $(ItemExt) is its extension. $(ItemDir) represents
the file's directory.
You will probably want to advance your new tool upward into the
initial position of all tools while you are testing and modifying the
command. You can do this by using the "Move Up" button that appears
on the External Tools dialog.
The benefits of using "Initial Directory" are that file-names in lint
error messages will not be so long, and, also, this directory can
contain a std.lnt that overrides the global std.lnt in the
Configuration Directory.
This Simple Check is fine to check stand-alone modules but to check
projects or to unit check modules that are in projects we need to
go a bit further ...
Suppressing Messages
----------- --------
Suppressing messages is normally done by adding message suppression
options to a file. For example, -e550 will suppress message 550.
There are numerous other options to suppress messages.
As the documentation indicates, the file
c:\lint\options.lnt
(where c:\lint\ is the Configuration Directory) is the presumed
container of your overall suppression policy. (Note: options.lnt is
referenced by std.lnt). Add a message suppression here and you will
affect all linting employing that configuration.
To suppress messages for a particular project (or for all projects
within a given project directory) you may do the following:
Create a file std.lnt that is contained in the project directory.
Make it refer back to the std.lnt in the Configuration Directory.
Then add additional message suppression options or indeed any options
you want. For example it might contain:
c:\lint\std.lnt // reference to original std.lnt
-e550 // project-specific option
In this way suppression is limited to a particular project.
Tool Bar
--------
You also have the option of creating a PC-lint toolbar within your
Visual C++ IDE. First, create one or more tools as described above.
You will need to know the number(s) of the tool(s) you want to place
on the tool bar. This can only be done by the painful and laborious
task of counting. Using the list provided by "Tools"/"External
Tools", jot down the numbers (starting with 1 at the top) of all the
tools to be added to the tool bar. We recommend placing all the
PC-lint tools on a single tool bar. Then select Customize from the
Tools menu. Select the Toolbars tab and click the New... button.
Give the Toolbar a name (E.g., PC-lint) in the dialog box provided
and click "OK". Confirm that the new toolbar is now floating on
the desktop and that a check has been placed in the check box next
to the new toolbar name. Then click on the Commands tab and
select the "Toolbar:" radio button. Open the drop down list and
select "PC-Lint" from the choices. Click the "Add Command..."
button to reveal the "Add Command" window. In the "Categories:"
box scroll down to and select the "Tools" item. In the
"Commands:" box scroll down to and select the appropriate
"External Command" numbered item that corresponds to the desired
PC-Lint command, then click the OK button to add the selected item
to the PC-Lint toolbar. Repeat the "Add Command..." process for
each desired PC-Lint command the you wish to place on the PC-Lint
toolbar.
If you want to add a button image to the toolbar, you can choose one
via the Modify Selection button. Click Close and you now have your
own PC-lint for C/C++ button. (Note: If you change the location of
the PC-lint menu item on the Tools menu, you will change the subscript
and you will need to change the button(s) on the toolbar.)
*/
-"format=%(%F(%l):%) error %n: (%t -- %m)" // Messages will contain
// file information (%F), the line number (%l), the
// message number (%n), message type (%t) and message text (%m).
-hF2 // Make sure we ALWAYS provide file information ('F') and use 2
// lines (one for the source line in error and one for the
// message).
-width(0) // don't break messages at any particular width
-t4 // Presume that tabs are every 4 stops
+e900 // issue a message at termination.