1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 06:02:11 +02:00

bug 409392: Update context help and user documentation for new Scanner Discovery "Preprocessor Includes, Macros..." property/preference pages

This commit is contained in:
Andrew Gvozdev 2013-06-03 17:36:40 -04:00
parent 0062971af1
commit 4732c34a58
39 changed files with 872 additions and 69 deletions

View file

@ -37,25 +37,20 @@ declarations and cross reference information. This is the recommended indexer.<b
declarations and cross reference information.<br> declarations and cross reference information.<br>
</li> </li>
</ul> </ul>
<p><img src="../images/ngconcepts.gif" alt="Related concepts" <p><img src="../images/ngconcepts.gif" alt="Related concepts" width="143" height="21"><br>
width="143" height="21"> <br>
<a href="cdt_c_search.htm">C/C++ search</a><br> <a href="cdt_c_search.htm">C/C++ search</a><br>
<a href="cdt_c_indexer_prog_bar.htm">C/C++ Indexer Progress Bar</a></p> <a href="cdt_c_indexer_prog_bar.htm">C/C++ Indexer Progress Bar</a><br>
<p><img src="../images/ngtasks.gif" alt="Related tasks" <a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a><br>
width="143" height="21"><br>
<a href="../tasks/cdt_t_sel_search.htm">Selection Searching for C/C++
elements</a><br>
<a
href="../tasks/cdt_t_set_src_fold.htm">Setting Source Folders</a><br>
</p> </p>
<p><img src="../images/ngref.gif" alt="Related reference" <p><img src="../images/ngtasks.gif" alt="Related tasks" width="143" height="21"><br>
width="143" height="21"> <a href="../tasks/cdt_t_sel_search.htm">Selection Searching for C/C++ elements</a><br>
<br> <a href="../tasks/cdt_t_set_src_fold.htm">Setting Source Folders</a><br>
<a href="../reference/cdt_u_search.htm">C/C++ search page, Search
dialog box</a>
<br>
<a href="../reference/cdt_u_prop_general_idx.htm">C/C++ Project Properties, Indexer</a>
</p> </p>
<p><img src="../images/ngref.gif" alt="Related reference" width="143" height="21"><br>
<a href="../reference/cdt_u_search.htm">C/C++ search page, Search dialog box</a><br>
<a href="../reference/cdt_u_prop_general_idx.htm">C/C++ Project Properties, Indexer</a><br>
</p>
<p>&nbsp;</p> <p>&nbsp;</p>
<img src="../images/ng00_07.gif" alt="IBM Copyright Statement" <img src="../images/ng00_07.gif" alt="IBM Copyright Statement"
style="width: 324px; height: 14px;"> style="width: 324px; height: 14px;">

View file

@ -23,13 +23,13 @@ If for any reason open declaration cannot find the declaration, it will display
<img src="../images/open_declaration_error.png" alt="No declaration was found message."> <img src="../images/open_declaration_error.png" alt="No declaration was found message.">
<p>For more information see <a href="../tasks/cdt_t_proj_paths.htm">Adding Include paths and symbols</a>.</p> <p>For more information see <a href="../tasks/cdt_t_sd.htm">Setting up include paths and macros for C/C++ indexer</a>.</p>
<p><img src="../images/ngconcepts.gif" ALT="Related concepts" width="143" height="21"> <br> <p><img src="../images/ngconcepts.gif" ALT="Related concepts" width="143" height="21"> <br>
<a href="cdt_c_projects.htm">CDT Projects</a><br> <a href="cdt_c_projects.htm">CDT Projects</a><br>
<a href="cdt_c_search.htm">C/C++ search</a></p> <a href="cdt_c_search.htm">C/C++ search</a></p>
<p><img src="../images/ngtasks.gif" ALT="Related tasks" width="143" height="21"> <br> <p><img src="../images/ngtasks.gif" ALT="Related tasks" width="143" height="21"> <br>
<a href="../tasks/cdt_t_proj_paths.htm">Adding Include paths and symbols</a><br> <a href="../tasks/cdt_t_sd.htm">Setting up include paths and macros for C/C++ indexer</a><br>
<a href="../tasks/cdt_t_open_declarations.htm">Navigate to a C or C++ element's declaration</a><br> <a href="../tasks/cdt_t_open_declarations.htm">Navigate to a C or C++ element's declaration</a><br>
<a href="../tasks/cdt_t_search.htm">Searching for C/C++ elements</a></p> <a href="../tasks/cdt_t_search.htm">Searching for C/C++ elements</a></p>

View file

@ -0,0 +1,97 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) Andrew Gvozdev and others 2013,2013. This page is made available under license. For full details, see the LEGAL section in the documentation that contains this page.">
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Scanner Discovery</title>
<link rel="stylesheet" type="text/css" href="../help.css">
</head>
<body>
<div>
<h1>Scanner Discovery</h1>
<p>
<strong>Scanner Discovery</strong> (sometimes called <strong>Autodiscovery</strong>) is a method of finding include paths and predefined preprocessor macros which the compiler uses during compilation of the code.
</p>
<p>
Even a simplest C/C++ program just printing "Hello World" needs to include system headers. Consider:
</p>
<pre>
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main(void) {
puts("!!!Hello World!!!");
return EXIT_SUCCESS;
}
</pre>
<p>
Indexer needs to be able to find headers <span class="typewriter">stdio.h</span> and <span class="typewriter">stdlib.h</span> and parse them to provide accurate index.
In this example, the headers define prototype of function <span class="typewriter">puts</span> and macro <span class="typewriter">EXIT_SUCCESS</span>.
</p>
<p>
CDT will try to discover include paths and preprocessor symbols automatically for supported toolchains.
There are 2 main ways to discover those:
</p>
<ol>
<li><strong>Built-in</strong> Settings.
CDT will try to detect built-in compiler symbols and include paths running the compiler with special options and parse the output of this special run.
Most compilers provide such an option to print built-in include paths and symbols. Built-in settings are implied and do not get passed to compiler during regular compilation.
</li>
<li><strong>Build Output Parser (BOP)</strong>.
Another method that CDT employs is to analyze build output of the regular build with Build Output Parser.
Often, include paths are supplied to the compiler with <span class="typewriter">-I</span> options, and macros with <span class="typewriter">-D</span> options
and BOP will try to find those in the output.
That method relies on verbose build output of your build where all these options are actually printed by make.
</li>
</ol>
<p>
CDT uses <strong>Language Settings Providers</strong> to discover the settings (starting with version CDT 8.1). Typically Language settings Providers are specialized.
One will provide built-in compiler settings and another one settings detected by Build output Parser.
There is also an extension point defined in CDT to allow third party Eclipse plugins to contribute custom Language Settings Providers.
</p>
<p>
The setting entries found by Scanner Discovery can be inspected in project properties on "Preprocessor Include Paths, Macros etc." page.
Each Language Settings Provider can be expanded to show the entries it discovered.
</p>
<p>
<img src="../images/scanner_discovery/sd_prop_entries.png" alt="Preprocessor Include Paths and Macros Entries">
</p>
<p>
If information retrieved by auto-discovery is insufficient or the project deviates from a standard one supported by CDT a user can enter additional include paths and macros manually under "User Settings Entries".
</p>
<p>
The <strong>Project Explorer View</strong> provides a means to view some of the settings. The discovered include paths are shown under the project when "Includes" node is expanded.<br>
Also, a <strong>"Wrench" overlay</strong> icon is shown for those file/folders where distinct entries are discovered which differ from those of parent folder. Wrench is not shown on project level.<br>
In the example below, <span class="typewriter">Hello.cpp</span> was compiled with added <span class="typewriter">-DHELLO</span> compiler option.
After BOP discovery "Wrench" overlay is shown for this file.
<img src="../images/scanner_discovery/sd_project_explorer.png" alt="Project Explorer view">
</p>
<p><img src="../images/ngconcepts.gif" alt="Related concepts" width="143" height="21"><br>
<a href="../concepts/cdt_c_indexer.htm">C/C++ Indexer</a><br>
</p>
<p><img src="../images/ngtasks.gif" alt="Related tasks" width="143" height="21"><br>
<a href="../tasks/cdt_t_sd.htm">Setting up include paths and macros for C/C++ indexer</a><br>
</p>
<p><img src="../images/ngref.gif" alt="Related reference" width="143" height="21"><br>
<a href="../reference/cdt_u_pref_build_scanner_discovery.htm">C/C++ Preferences: Scanner Discovery</a><br>
<a href="../reference/cdt_u_prop_general_scanner_discovery.htm">C/C++ Project properties: Preprocessor Include Paths, Macros, etc.</a><br>
</p>
</div>
</body>
</html>

View file

@ -14,6 +14,7 @@
<p>This section describes the build views and terminology.</p> <p>This section describes the build views and terminology.</p>
<img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_c_build_over.htm">Building C/C++ Projects</a><br> <img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_c_build_over.htm">Building C/C++ Projects</a><br>
<img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_c_scanner_discovery.htm">Scanner Discovery of include paths and preprocessor macros</a><br>
<p><img src="../images/ng00_04a.gif" ALT="IBM Copyright Statement" ></p> <p><img src="../images/ng00_04a.gif" ALT="IBM Copyright Statement" ></p>

View file

@ -40,7 +40,7 @@
--> -->
<img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_o_build_conc.htm">Build</a><br> <img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_o_build_conc.htm">Build</a><br>
<img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_c_build_over.htm">Building C/C++ Projects</a><br> <img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_c_build_over.htm">Building C/C++ Projects</a><br>
<img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.doc.isv/guide/mbs/extensibilityGuide/Managed_Build_Extensibility.html?root=Tools_Project&view=co">Manage Build Extensibility Document</a><br> <img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_c_scanner_discovery.htm">Scanner Discovery of include paths and preprocessor macros</a><br>
<img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_o_dbg_concepts.htm">Debug</a><br> <img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_o_dbg_concepts.htm">Debug</a><br>
<img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_c_brkpnts.htm">Breakpoints</a><br> <img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_c_brkpnts.htm">Breakpoints</a><br>
<img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_c_over_dbg.htm">Debug overview</a><br> <img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_c_over_dbg.htm">Debug overview</a><br>

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View file

@ -33,6 +33,7 @@
<li><a href="cdt_u_fileprop_sym.htm">Symbols tab</a> <li><a href="cdt_u_fileprop_sym.htm">Symbols tab</a>
<li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a> <li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a>
</ul> </li> </ul> </li>
<li><a href="cdt_u_prop_general_scanner_discovery.htm">Preprocessor Include Paths, Macros, etc.</a>
</ul> </ul>
</li> </li>
<li><a href="cdt_u_prop_rundebug.htm">Run/Debug Settings page</a></li> <li><a href="cdt_u_prop_rundebug.htm">Run/Debug Settings page</a></li>

View file

@ -35,6 +35,7 @@
<li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a> <li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a>
</ul> </ul>
</li> </li>
<li><a href="cdt_u_prop_general_scanner_discovery.htm">Preprocessor Include Paths, Macros, etc.</a>
</ul> </ul>
</li> </li>
<li><a href="cdt_u_prop_rundebug.htm">Run/Debug Settings page</a> <li><a href="cdt_u_prop_rundebug.htm">Run/Debug Settings page</a>

View file

@ -68,6 +68,11 @@ To select project properties, right click a project and select <strong>Propertie
<li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a> <li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a>
<li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a> <li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a>
</ul> </ul>
<li><a href="cdt_u_prop_general_scanner_discovery.htm">Preprocessor Include Paths, Macros, etc.</a>
<ul>
<li><a href="cdt_u_prop_general_sd_entries.htm">Entries tab</a>
<li><a href="cdt_u_prop_general_sd_providers.htm">Providers tab</a>
</ul>
</ul> </ul>
<li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a> <li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a>
<li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a> <li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a>

View file

@ -46,7 +46,7 @@
<img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_u_open_element.htm">Open Element</a><br> <img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_u_open_element.htm">Open Element</a><br>
<img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_u_create_make_target.htm">Create a Make Target</a><br> <img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_u_create_make_target.htm">Create a Make Target</a><br>
<img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_u_find_replace.htm">Find/Replace</a><br> <img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_u_find_replace.htm">Find/Replace</a><br>
<img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_u_c_pref.htm">C/C++ preferences</a><br> <img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_u_c_pref.htm">C/C++ Preferences</a><br>
<img src="../images/trans.gif" width="100" height="1" alt=""><a style="text-decoration:none" href="cdt_u_appearance_pref.htm">Appearance</a><br> <img src="../images/trans.gif" width="100" height="1" alt=""><a style="text-decoration:none" href="cdt_u_appearance_pref.htm">Appearance</a><br>
<img src="../images/trans.gif" width="100" height="1" alt=""><a style="text-decoration:none" href="cdt_u_pref_build.htm">Build preferences</a><br> <img src="../images/trans.gif" width="100" height="1" alt=""><a style="text-decoration:none" href="cdt_u_pref_build.htm">Build preferences</a><br>
<img src="../images/trans.gif" width="100" height="1" alt=""><a style="text-decoration:none" href="cdt_u_pref_build_error_parsers.htm">Error Parsers Options</a><br> <img src="../images/trans.gif" width="100" height="1" alt=""><a style="text-decoration:none" href="cdt_u_pref_build_error_parsers.htm">Error Parsers Options</a><br>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>C/C++ preferences</title> <title>C/C++ Preferences</title>
<link rel="stylesheet" type="text/css" href="../help.css"> <link rel="stylesheet" type="text/css" href="../help.css">
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script> <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
</head> </head>

View file

@ -13,7 +13,7 @@
<div role="main"><h1>Build preferences</h1> <div role="main"><h1>Build preferences</h1>
<p>Use the <img src="../images/command_link.png" alt="" > <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.cdt.make.ui.preferences.BuildSettings)")'>Build</a> preference panel to define build options.</p> <p>Use the <img src="../images/command_link.png" alt="" > <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.cdt.ui.preferences.BuildSettingProperties)")'>Build</a> preference panel to define build options.</p>
<p><img src="../images/ngconcepts.gif" ALT="Related concepts" width="143" height="21"> <p><img src="../images/ngconcepts.gif" ALT="Related concepts" width="143" height="21">
<br> <br>

View file

@ -4,16 +4,16 @@
<head> <head>
<meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Error Parser Options</title> <title>Error Parser Preferences</title>
<link rel="stylesheet" type="text/css" href="../help.css"> <link rel="stylesheet" type="text/css" href="../help.css">
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script> <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
</head> </head>
<body> <body>
<div role="main"><h1>Error Parser Options</h1> <div role="main"><h1>Error Parser Preferences</h1>
<p>Use the <strong>Error Parsers Tab</strong> on <img src="../images/command_link.png" alt="" > <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.cdt.make.ui.preferences.BuildSettings)")'> <p>Use the <strong>Error Parsers Tab</strong> on <img src="../images/command_link.png" alt="" > <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.cdt.ui.preferences.BuildSettingProperties)")'>
Build</a> preference panel to define global error parsing options. Build</a> preference panel to define global error parsing options.
</p> </p>
<p><strong>Error Parsers</strong> scan build output looking for potential error or warning messages. <p><strong>Error Parsers</strong> scan build output looking for potential error or warning messages.

View file

@ -0,0 +1,235 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) Andrew Gvozdev and others 2013,2013. This page is made available under license. For full details, see the LEGAL section in the documentation that contains this page.">
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Scanner Discovery Preferences</title>
<link rel="stylesheet" type="text/css" href="../help.css">
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
</head>
<body>
<div>
<h1>Scanner Discovery Preferences</h1>
<h2>General</h2>
<p>
Use the <strong>Discovery Tab</strong> on <img src="../images/command_link.png" alt="" > <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.cdt.ui.preferences.BuildSettingProperties)")'>
Build</a> preference panel to define global scanner discovery options.
</p>
<p>
In the Discovery tab you can see a list of <strong>Language Settings Providers</strong>. Language Settings Providers supply <strong>Language Settings</strong> such as include paths and preprocessor macros
for the indexer and other components of CDT.
</p>
<p><img src="../images/scanner_discovery/sd_preferences.png" alt="Scanner Discovery Preferences Panel"></p>
<p>
A user can define some properties for global (or "shared") providers on this preference. Note that providers can be either shared or defined per configuration.
Properties for non-shared providers can be defined in <a href="../reference/cdt_u_prop_general_scanner_discovery.htm">Project properties: Preprocessor Include Paths, Macros, etc.</a>
</p>
<table width="700px" cellpadding="5" cellspacing="0" border="1" >
<caption><strong>Discovery tab</strong></caption>
<colgroup>
<col width="30%" valign="top" >
<col width="70%" valign="top" >
</colgroup>
<tbody>
<tr style="text-align:center;">
<th id="group"><strong>Group</strong></th>
<th id="description"><strong>Description</strong></th>
</tr>
<tr valign="top">
<td headers="group"><strong>Language Settings Providers</strong></td>
<td headers="description">Lists the available language settings providers.</td>
</tr>
<tr valign="top">
<td headers="group"><strong>Clear Entries</strong></td>
<td headers="description">Click to clear all entries of the selected provider.
This operation takes effect after pressing "Apply" or "OK".
Normally this will trigger a rerun if the provider supplies built-in compiler settings.
Build output parsers will regain language settings after build while parsing new build output.
<br>This operation might be unavailable if the provider does not have any language settings.
Some providers may not have the capability to clear.
</td>
</tr>
<tr valign="top">
<td headers="group"><strong>Reset</strong></td>
<td headers="description">Click to reset options of the selected provider to default values. This operation also clears the provider entries.
The button can be enabled if some options in "Language Settings Provider Options" panel were changed.
</td>
</tr>
</tbody>
</table>
<br>
<br>
<table width="700px" cellpadding="5" cellspacing="0" border="1" >
<caption><strong>Kinds of Language Settings Providers</strong></caption>
<colgroup>
<col width="30%" valign="top" >
<col width="70%" valign="top" >
</colgroup>
<tbody>
<tr style="text-align:center;">
<th id="field"><strong>Provider</strong></th>
<td headers="group"><strong>Description</strong></td>
</tr>
<tr valign="top">
<td headers="field"><strong>Build Output Parser Provider</strong></td>
<td headers="description2">Build Output Parser Provider parses output of build
looking for include paths and macros passed to the compiler via compiler options.
Include files, macro files passed the the compiler and some other compiler options are normally also recognized.
<br>
For gcc, include paths commonly passed with "-I" option and macros with "-D" option.
The language settings found by BOP are available after the build is finished.
</td>
</tr>
<tr valign="top">
<td headers="field"><strong>Builtin Compiler Settings Provider</strong></td>
<td headers="description2">Builtin Compiler Settings Provider launches the compiler with special options that instruct the compiler
to print built-in settings such as include paths to internal system headers and the list of internally predefined macros.
This provider is usually shared between projects in workspace and runs in background once.
When it is finished the language settings are available to all the projects between which it is shared.
</td>
</tr>
<tr valign="top">
<td headers="field"><strong>Managed Build Language Settings Provider</strong></td>
<td headers="description2">MBS Provider supplies language settings provided by Managed Build System.
</td>
</tr>
<tr valign="top">
<td headers="field"><strong>User Language Settings Provider</strong></td>
<td headers="description2">A user has an opportunity to enter language settings manually using this provider.
User Language Settings Provider should be normally the first in the list so these settings override settings supplied by other providers.
</td>
</tr>
<tr valign="top">
<td headers="field"><strong>Contributed PathEntry Containers</strong></td>
<td headers="description2">This provider is here for backward compatibility support of PathEntry Containers from older versions of CDT.
Using this method is not recommended.
</td>
</tr>
<tr valign="top">
<td headers="field"><strong>Contributed ScannerInfo Entries</strong></td>
<td headers="description2">This provider is here for backward compatibility support of ScannerInfo Entries from older versions of CDT.
Using this method is not recommended.
</td>
</tr>
</tbody>
</table>
<br>
<h2>Language Settings Providers Options</h2>
<p>
Language settings providers can have options that affect the behavior of a provider. These options are presented in "Language Settings Provider Options" panel.
</p>
<h3>Build Output Parser Options</h3>
<p><img src="../images/scanner_discovery/sd_bop_options.png" alt="BOP Options Panel"></p>
<table width="700px" cellpadding="5" cellspacing="0" border="1" >
<caption><strong>Build Output Parser Options</strong></caption>
<colgroup>
<col width="30%" valign="top" >
<col width="70%" valign="top" >
</colgroup>
<tbody>
<tr style="text-align:center;">
<th id="field"><strong>Provider</strong></th>
<td headers="group"><strong>Options</strong></td>
</tr>
<tr valign="top">
<td headers="field"><strong>Compiler command pattern</strong></td>
<td headers="description2">The pattern which is used to recognize compiler command in build output.
<br>Note that the pattern is Java regular expression pattern, it is NOT globbing pattern used to expand file name in command line.
</td>
</tr>
<tr valign="top">
<td headers="field"><strong>Container to keep discovered entries</strong></td>
<td headers="description2">The discovered entries can be associated with the project, enclosing folder or the file itself.</td>
</tr>
<tr valign="top">
<td headers="field"><strong>Use heuristics to resolve paths</strong></td>
<td headers="description2">The provider will try to find the best match for the discovered path in the project
or workspace trying several heuristics. If disabled, the discovered paths will stay as they appear in build output.
</td>
</tr>
</tbody>
</table>
<br>
<h3>Builtin Compiler Settings Provider Options</h3>
<p><img src="../images/scanner_discovery/sd_specs_detector_options.png" alt="Specs Detector Options Panel"></p>
<table width="700px" cellpadding="5" cellspacing="0" border="1" >
<caption><strong>Builtin Compiler Settings Provider Options</strong></caption>
<colgroup>
<col width="30%" valign="top" >
<col width="70%" valign="top" >
</colgroup>
<tbody>
<tr style="text-align:center;">
<th id="field"><strong>Provider</strong></th>
<td headers="group"><strong>Options</strong></td>
</tr>
<tr valign="top">
<td headers="field"><strong>Command to get compiler specs</strong></td>
<td headers="description2">The command to make the compiler print built-in settings.
Following variables are recognized:
<ul>
<li><strong>${COMMAND}</strong> - compiler command from the toolchain, such as "gcc".</li>
<li><strong>${INPUTS}</strong> - indicates normally an empty specs file required by the compiler.
In no such file exists the file gets created temporarily in Eclipse workspace plugin area.
</li>
<li><strong>${EXT}</strong> - an extension for the language to discover built-in settings.
A provider can be associated with multiple languages and it will run the command for each language.
</li>
</ul>
</td>
</tr>
<tr valign="top">
<td headers="field"><strong>Browse</strong></td>
<td headers="description2">Use this button to locate the compiler on the file system.
The result is put into "Command to get compiler specs" input field.
</td>
</tr>
<tr valign="top">
<td headers="field"><strong>Allocate console in the Console View</strong></td>
<td headers="description2">Enable to troubleshoot problems running the command.
When enabled, output of each run of the provider will be directed to a special console in the Console View.
</td>
</tr>
</tbody>
</table>
<p>
To see the entries a provider discovered, go to project properties (or the properties of the resource of interest), see
<a href="../reference/cdt_u_prop_general_scanner_discovery.htm">Project properties: Preprocessor Include Paths, Macros, etc.</a>
</p>
<p>
A hint: <strong>After compiler upgrade</strong> re-discover changed settings with "Clear Entries" of the appropriate provider.
</p>
<p><img src="../images/ngconcepts.gif" alt="Related concepts" width="143" height="21"><br>
<a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a><br>
<a href="../concepts/cdt_c_indexer.htm">C/C++ Indexer</a><br>
</p>
<p><img src="../images/ngtasks.gif" alt="Related tasks" width="143" height="21"><br>
<a href="../tasks/cdt_t_sd.htm">Setting up include paths and macros for C/C++ indexer</a><br>
</p>
<p><img src="../images/ngref.gif" alt="Related reference" width="143" height="21"><br>
<a href="../reference/cdt_u_prop_general_scanner_discovery.htm">C/C++ Project properties: Preprocessor Include Paths, Macros, etc.</a><br>
</p>
</div></body>
</html>

View file

@ -40,8 +40,8 @@ to handle configurations.
</tbody> </tbody>
</table> </table>
<p><img src="../images/ngref.gif" alt="Related reference" <p>
width="143" height="21"><br> <img src="../images/ngref.gif" alt="Related reference" width="143" height="21"><br>
<ul> <ul>
<li><a href="cdt_u_prop_resource.htm">Project Properties, Resource page</a> <li><a href="cdt_u_prop_resource.htm">Project Properties, Resource page</a>
@ -76,6 +76,11 @@ to handle configurations.
<li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a> <li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a>
</ul> </ul>
</ul> </ul>
<li><a href="cdt_u_prop_general_scanner_discovery.htm">Preprocessor Include Paths, Macros, etc.</a>
<ul>
<li><a href="cdt_u_prop_general_sd_entries.htm">Entries tab</a>
<li><a href="cdt_u_prop_general_sd_providers.htm">Providers tab</a>
</ul>
<li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a> <li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a>
<li><a href="cdt_u_prop_refactoring_history.htm">C/C++ Project Properties, Refactoring History page</a> <li><a href="cdt_u_prop_refactoring_history.htm">C/C++ Project Properties, Refactoring History page</a>
<li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a> <li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a>

View file

@ -9,14 +9,13 @@
<body> <body>
<div role="main"><h1>C/C++ Project Properties, C/C++ General</h1> <div role="main"><h1>C/C++ Project Properties, C/C++ General</h1>
<p>General project properties</p> <p>General project properties</p>
<p><img src="../images/prop_general.png" <p><img src="../images/prop_general.png" alt="C/C++ Project Properties, C/C++ General"></p>
alt="C/C++ Project Properties, C/C++ General" img=""></p>
<p></p> <p></p>
<dl> <dl>
<dt>Documentation tool comments</dt> <dt>Documentation tool comments</dt>
<dd>Specifies which documentation tool should be used to determine editor presentation and behaviors. This <dd>Specifies which documentation tool should be used to determine editor presentation and behaviors. This
enables editor features such as content-assist, documentation comment generation and syntax highlighting. The particular enables editor features such as content-assist, documentation comment generation and syntax highlighting. The particular
tool selected here will be used for the files under this project and overrides the workspace level preference.</td> tool selected here will be used for the files under this project and overrides the workspace level preference.
<em>Note this preference is only available for the project level.</em></dd> <em>Note this preference is only available for the project level.</em></dd>
<dt><br>Available for :</dt> <dt><br>Available for :</dt>
<dd>Any projects, folders and files regardless of project kind</dd> <dd>Any projects, folders and files regardless of project kind</dd>
@ -72,6 +71,11 @@
<li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a> <li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a>
<li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a> <li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a>
</ul> </ul>
<li><a href="cdt_u_prop_general_scanner_discovery.htm">Preprocessor Include Paths, Macros, etc.</a>
<ul>
<li><a href="cdt_u_prop_general_sd_entries.htm">Entries tab</a>
<li><a href="cdt_u_prop_general_sd_providers.htm">Providers tab</a>
</ul>
</ul> </ul>
<li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a> <li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a>
<li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a> <li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a>

View file

@ -0,0 +1,46 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) Andrew Gvozdev and others 2013,2013. This page is made available under license. For full details, see the LEGAL section in the documentation that contains this page.">
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>C/C++ Project properties: Preprocessor Include Paths, Macros, etc.</title>
<link rel="stylesheet" type="text/css" href="../help.css">
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
</head>
<body>
<div><h1>C/C++ Project properties: Preprocessor Include Paths, Macros, etc.</h1>
<p>
Include paths and preprocessor macros for C/C++ indexer and other <strong>Language Settings</strong> are supplied by <strong>Language Settings Providers</strong> using <a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a> mechanism.
</p>
<p>
The entries can be inspected and set up on project properties page "Preprocessor Include Paths, Macros, etc." - <a href="../reference/cdt_u_prop_general_sd_entries.htm">Entries tab</a>.
</p>
<p>
Language Settings Providers can be set up and configured for the selected configuration on project properties page "Preprocessor Include Paths, Macros, etc." - <a href="../reference/cdt_u_prop_general_sd_providers.htm">Providers tab</a>.
</p>
<p><img src="../images/ngconcepts.gif" alt="Related concepts" width="143" height="21"><br>
<a href="../concepts/cdt_c_indexer.htm">C/C++ Indexer</a><br>
<a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a><br>
</p>
<p><img src="../images/ngtasks.gif" alt="Related tasks" width="143" height="21"><br>
<a href="../tasks/cdt_t_sd.htm">Setting up include paths and macros for C/C++ indexer</a><br>
</p>
<p><img src="../images/ngref.gif" alt="Related reference" width="143" height="21"><br>
<a href="../reference/cdt_u_pref_build_scanner_discovery.htm">C/C++ Preferences: Scanner Discovery</a><br>
<a href="../reference/cdt_u_prop_general_sd_entries.htm">C/C++ Project properties: Preprocessor Include Paths, Macros, etc. - Entries tab</a><br>
<a href="../reference/cdt_u_prop_general_sd_providers.htm">C/C++ Project properties: Preprocessor Include Paths, Macros, etc. - Providers tab</a><br>
</p>
</div></body>
</html>

View file

@ -0,0 +1,200 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) Andrew Gvozdev and others 2013,2013. This page is made available under license. For full details, see the LEGAL section in the documentation that contains this page.">
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>C/C++ Project properties: Preprocessor Include Paths, Macros, etc. - Entries tab</title>
<link rel="stylesheet" type="text/css" href="../help.css">
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
</head>
<body>
<div><h1>C/C++ Project properties: Preprocessor Include Paths, Macros, etc. - Entries tab</h1>
<p>
Include paths and preprocessor macros for C/C++ indexer can be inspected and set up on the project property page "Preprocessor Include Paths, Macros, etc.", "Entries" tab.
This tab presents <strong>Language Settings Providers</strong> employed by <a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a> to provide include paths,
macros and other <strong>Language Settings</strong>.
</p>
<p>
Note that the entries could be set also on an individual resource, such as file or folder. Open file or folder properties to inspect resource-specific entries.
The entries on a folder or a project will apply to all subfolders and C/C++ files under it - unless overriden on a lower level.
</p>
<p>
"Entries" tab shows a list of Language Settings Providers for each language. A provider node can be expanded to show include paths and macros defined by the provider.
A user can add custom entries here under "User Setting Entries" provider.
</p>
<p><img src="../images/scanner_discovery/sd_prop_entries.png" alt="Scanner Discovery Properties Entry Panel"></p>
<table cellpadding="5" cellspacing="0" border="1" width="600px" bordercolor="#DDDDDD" >
<caption><strong>Entries tab controls</strong></caption>
<colgroup>
<col width="30%" valign="top" >
<col width="70%" valign="top" >
</colgroup>
<tbody>
<tr style="text-align:center;">
<th id="group"><strong>Group</strong></th>
<th id="description"><strong>Description</strong></th>
</tr>
<tr>
<td headers="group"><strong>Configuration</strong></td>
<td headers="description"><a href="cdt_u_prop_all.htm">Click here for a description.</a></td>
</tr>
<tr>
<td headers="group"><strong>Manage Configurations...</strong></td>
<td headers="description"><a href="cdt_u_prop_all.htm">Click here for a description.</a></td>
</tr>
<tr>
<td headers="group"><strong>Languages</strong></td>
<td headers="description">Lists all of the languages defined by the toolchain. Select a language to see the list of applicable providers.</td>
</tr>
<tr>
<td headers="group"><strong>Setting Entries</strong></td>
<td headers="description">Lists all of the providers for the selected language and entries supplied by them. Expand a provider node to see the entries.</td>
</tr>
<tr>
<td headers="group"><strong>Show built-in values</strong></td>
<td headers="description">Disable checkbox "Show built-in values" to filter out built-in setting entries in the view.
Built-in compiler entries need to be provided to C/C++ indexer but not to the compiler during the build.
</td>
</tr>
<tr>
<td headers="group"><strong>Add...</strong></td>
<td headers="description">Add an entry to the provider. Enabled only when the provider supports the operation.</td>
</tr>
<tr>
<td headers="group"><strong>Edit...</strong></td>
<td headers="description">Edit the selected settings entry. Enabled only when the provider supports the operation.</td>
</tr>
<tr>
<td headers="group"><strong>Delete</strong></td>
<td headers="description">Delete the selected settings entry. Enabled only when the provider supports the operation.</td>
</tr>
<tr>
<td headers="group"><strong>Move Up</strong></td>
<td headers="description">Moves the selected entry higher in the list. Enabled only when the provider supports the operation</td>
</tr>
<tr>
<td headers="group"><strong>Move Down</strong></td>
<td headers="description">Moves the selected entry lower in the list. Enabled only when the provider supports the operation</td>
</tr>
</tbody>
</table>
<br>
<h2>Adding and Editing entries</h2>
<p>Use <strong>Add...</strong> and <strong>Edit...</strong> buttons to add or modify the entries. Both buttons open similar dialog described here.</p>
<p><img src="../images/scanner_discovery/sd_prop_add_include.png" alt="Scanner Discovery Add Include Dialog"></p>
<table cellpadding="5" cellspacing="0" border="1" width="600px" bordercolor="#DDDDDD" >
<caption><strong>Add/Edit entries dialog</strong></caption>
<colgroup>
<col width="30%" valign="top" >
<col width="70%" valign="top" >
</colgroup>
<tbody>
<tr style="text-align:center;">
<th id="group"><strong>Group</strong></th>
<th id="description"><strong>Description</strong></th>
</tr>
<tr>
<td headers="group"><strong>Kind of Setting Entry</strong></td>
<td headers="description">A dropbox to select desired kind of setting entry.
<img src="../images/scanner_discovery/sd_prop_add_lse_kinds_dropdown.png"
alt="Scanner Discovery Kinds Dropdown
Following kinds are available:
- Include Directory
- Preprocessor Macro
- Include File
- Preprocessor Macros File
- Library Path
- Library"
>
<br>This dropbox is not available in "Edit" mode.
</td>
</tr>
<tr>
<td headers="group"><strong>Kind of path</strong></td>
<td headers="description">A dropbox to select desired kind of path.
<img src="../images/scanner_discovery/sd_prop_add_lse_paths_dropdown.png"
alt="Scanner Discovery Path Dropdown
Following kinds of paths are available:
- Project Path
- Workspace Path
- File System Path"
>
<br>This dropbox is shown for path entries only.
</td>
</tr>
<tr>
<td headers="group"><strong>Path</strong></td>
<td headers="description">Enter path value of the entry.
<br>This field is shown for path entries only.
</td>
</tr>
<tr>
<td headers="group"><strong>Open folder button</strong></td>
<td headers="description">Use folder button to navigate folder structure to select existing path.
The provided dialog varies depending on the kind of path selected in the corresponding dropbox.
<br>This button is shown for path entries only.
</td>
</tr>
<tr>
<td headers="group"><strong>Variables</strong></td>
<td headers="description">Select one of the build or environment variables provided by CDT to embed into "Path" field.
<br>This button is enabled only for File System Paths.
</td>
</tr>
<tr>
<td headers="group"><strong>Treat as built-in</strong></td>
<td headers="description">Enable this checkbox to mark the entry as built-in.
Built-in compiler entries need to be provided to C/C++ indexer but not to the compiler during the build.
</td>
</tr>
<tr>
<td headers="group"><strong>Contains system headers</strong></td>
<td headers="description">Enable if the include path is a system directory which contains system headers.
<br>This checkbox is shown for Include Directories only.
</td>
</tr>
<tr>
<td headers="group"><strong>Framework folder</strong></td>
<td headers="description">Mac OS has a unique way of specifying include directories for Frameworks.
Enable if the included directory is Mac Framework directory.
<br>This checkbox is shown for Include Directories only.
</td>
</tr>
<tr>
<td headers="group"><strong>Name</strong></td>
<td headers="description">Shown for Preprocessor Macro only. Specify the macro name here.</td>
</tr>
<tr>
<td headers="group"><strong>Value</strong></td>
<td headers="description">Shown for Preprocessor Macro only. Specify the macro value here.</td>
</tr>
</tbody>
</table>
<br>
<p><img src="../images/ngconcepts.gif" alt="Related concepts" width="143" height="21"><br>
<a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a><br>
<a href="../concepts/cdt_c_indexer.htm">C/C++ Indexer</a><br>
</p>
<p><img src="../images/ngtasks.gif" alt="Related tasks" width="143" height="21"><br>
<a href="../tasks/cdt_t_sd.htm">Setting up include paths and macros for C/C++ indexer</a><br>
</p>
<p><img src="../images/ngref.gif" alt="Related reference" width="143" height="21"><br>
<a href="../reference/cdt_u_pref_build_scanner_discovery.htm">C/C++ Preferences: Scanner Discovery</a><br>
<a href="../reference/cdt_u_prop_general_sd_providers.htm">C/C++ Project properties: Preprocessor Include Paths, Macros, etc. - Providers tab</a><br>
</p>
</div></body>
</html>

View file

@ -0,0 +1,137 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) Andrew Gvozdev and others 2013,2013. This page is made available under license. For full details, see the LEGAL section in the documentation that contains this page.">
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>C/C++ Project properties: Preprocessor Include Paths, Macros, etc. - Providers tab</title>
<link rel="stylesheet" type="text/css" href="../help.css">
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
</head>
<body>
<div><h1>C/C++ Project properties: Preprocessor Include Paths, Macros, etc. - Providers tab</h1>
<p>
Include paths and preprocessor macros for C/C++ indexer and other <strong>Language Settings</strong> are supplied by <strong>Language Settings Providers</strong> as part of <a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a>.
Language Settings Providers can be set up and configured for the selected configuration in the "Providers" tab.
</p>
<p>
"Providers" tab is only shown in properties of a project, not in properties of a file or a folder.
</p>
<p><img src="../images/scanner_discovery/sd_prop_providers.png" alt="Scanner Discovery Properties Providers Panel"></p>
<table cellpadding="5" cellspacing="0" border="1" width="600px" bordercolor="#DDDDDD" >
<caption><strong>Providers tab controls</strong></caption>
<colgroup>
<col width="30%" valign="top" >
<col width="70%" valign="top" >
</colgroup>
<tbody>
<tr style="text-align:center;">
<th id="group"><strong>Group</strong></th>
<th id="description"><strong>Description</strong></th>
</tr>
<tr>
<td headers="group"><strong>Configuration</strong></td>
<td headers="description"><a href="cdt_u_prop_all.htm">Click here for a description.</a></td>
</tr>
<tr>
<td headers="group"><strong>Manage Configurations...</strong></td>
<td headers="description"><a href="cdt_u_prop_all.htm">Click here for a description.</a></td>
</tr>
<tr>
<td headers="group"><strong>Language Setting Providers list</strong></td>
<td headers="description">Lists all of the providers available for the current configuration. Select the providers to assign to the configuration.</td>
</tr>
<tr>
<td headers="group"><strong>Clear Entries</strong></td>
<td headers="description">Clears all entries of the selected provider.
This operation takes effect after pressing "Apply" or "OK".
Normally this will trigger a rerun if the provider supplies built-in compiler settings.
Build output parsers will regain language settings after build while parsing new build output.
<br>This operation might be unavailable if the provider does not have any language settings.
Some providers may not have the capability to clear.
<br>On this property page, this operation is applicable only to non-shared providers.
</td>
</tr>
<tr>
<td headers="group"><strong>Reset</strong></td>
<td headers="description">Resets options of the selected provider to default values.
This operation also clears the provider entries.
The button can be enabled if some options in "Language Settings Provider Options" panel were changed.
<br>In this dialog, this operation is applicable only to non-shared providers.
</td>
</tr>
<tr>
<td headers="group"><strong>Move Up</strong></td>
<td headers="description">Moves the selected provider higher in the list.</td>
</tr>
<tr>
<td headers="group"><strong>Move Down</strong></td>
<td headers="description">Moves the selected provider lower in the list.</td>
</tr>
</tbody>
</table>
<br>
<p>
A user can define some options for configuration providers (or "non-shared") on this property page. Note that providers can be either shared or defined per configuration.
Options of global (or "shared") providers can be configured on <a href="../reference/cdt_u_pref_build_scanner_discovery.htm">C/C++ Preferences: Scanner Discovery</a>.
</p>
<p>
There are 2 specific options that are added for non-shared providers defined per configuration. They are described in the table below.
</p>
<table width="700px" cellpadding="5" cellspacing="0" border="1" >
<caption><strong>Discovery tab</strong></caption>
<colgroup>
<col width="30%" valign="top" >
<col width="70%" valign="top" >
</colgroup>
<tbody>
<tr style="text-align:center;">
<th id="group"><strong>Group</strong></th>
<th id="description"><strong>Description</strong></th>
</tr>
<tr>
<td headers="group"><strong>Use global provider shared between projects</strong></td>
<td headers="description">Providers can be global or belong to a configuration. Global providers share their entries between all configurations which refer to them.
</td>
</tr>
<tr>
<td headers="group"><strong>Store entries in project settings folder</strong></td>
<td headers="description">Providers can persist their entries in workspace or under project folder.
Storing entries under project when approprate can make sharing with the other team members easier.
</td>
</tr>
</tbody>
</table>
<p>
The rest of the options is described in <a href="../reference/cdt_u_pref_build_scanner_discovery.htm">C/C++ Preferences: Scanner Discovery</a>, under <strong>Language Settings Providers Options</strong>.
</p>
<p><img src="../images/ngconcepts.gif" alt="Related concepts" width="143" height="21"><br>
<a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a><br>
<a href="../concepts/cdt_c_indexer.htm">C/C++ Indexer</a><br>
</p>
<p><img src="../images/ngtasks.gif" alt="Related tasks" width="143" height="21"><br>
<a href="../tasks/cdt_t_sd.htm">Setting up include paths and macros for C/C++ indexer</a><br>
</p>
<p><img src="../images/ngref.gif" alt="Related reference" width="143" height="21"><br>
<a href="../reference/cdt_u_pref_build_scanner_discovery.htm">C/C++ Preferences: Scanner Discovery</a><br>
<a href="../reference/cdt_u_prop_general_sd_entries.htm">C/C++ Project properties: Preprocessor Include Paths, Macros, etc. - Entries tab</a><br>
</p>
</div></body>
</html>

View file

@ -71,6 +71,11 @@ To select object properties, right click on object in view and select <strong>Pr
<li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a> <li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a>
<li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a> <li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a>
</ul> </ul>
<li><a href="cdt_u_prop_general_scanner_discovery.htm">Preprocessor Include Paths, Macros, etc.</a>
<ul>
<li><a href="cdt_u_prop_general_sd_entries.htm">Entries tab</a>
<li><a href="cdt_u_prop_general_sd_providers.htm">Providers tab</a>
</ul>
</ul> </ul>
<li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a> <li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a>
<li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a> <li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a>

View file

@ -20,7 +20,7 @@
<img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_convert_cdt_proj.htm">Converting CDT 1.x Projects</a><br> <img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_convert_cdt_proj.htm">Converting CDT 1.x Projects</a><br>
<img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_convert_mbs20_proj.htm">Converting CDT Managed Make Projects</a><br> <img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_convert_mbs20_proj.htm">Converting CDT Managed Make Projects</a><br>
<img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_add_custom_persp.htm">Adding Convert to a C/C++ Make Project to the New menu</a><br> <img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_add_custom_persp.htm">Adding Convert to a C/C++ Make Project to the New menu</a><br>
<img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_discovery.htm">Set Discovery Options</a><br> <img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_sd.htm">Setting up include paths and macros for C/C++ indexer</a><br>
<p><img src="../images/ng00_04a.gif" ALT="QNX Copyright Statement" ></p> <p><img src="../images/ng00_04a.gif" ALT="QNX Copyright Statement" ></p>
</div></body> </div></body>

View file

@ -79,6 +79,7 @@
<img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_search.htm">Searching for C/C++ elements</a><br> <img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_search.htm">Searching for C/C++ elements</a><br>
<img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_t_sel_search.htm">Selection Searching for C/C++ elements</a><br> <img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_t_sel_search.htm">Selection Searching for C/C++ elements</a><br>
<img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_t_set_src_fold.htm">Setting Source Folders</a><br> <img src="../images/trans.gif" width="50" height="1" alt=""><a style="text-decoration:none" href="cdt_t_set_src_fold.htm">Setting Source Folders</a><br>
<img src="../images/trans.gif" width="25" height="1" alt=""><a style="text-decoration:none" href="cdt_t_sd.htm">Include paths and macros for C/C++ indexer</a><br>
<p><img src="../images/ng00_04a.gif" ALT="QNX Copyright Statement" ></p> <p><img src="../images/ng00_04a.gif" ALT="QNX Copyright Statement" ></p>
</div></body> </div></body>

View file

@ -8,6 +8,7 @@
</head> </head>
<body> <body>
<div role="main"><h1>Set Discovery Options</h1> <div role="main"><h1>Set Discovery Options</h1>
<p><img src="../images/icon_warning.gif" alt="Warning">Note that this functionality has been deprecated and not fully supported anymore</p>
<p>For most <strong>make</strong> projects, you will want to parse the output of <p>For most <strong>make</strong> projects, you will want to parse the output of
the build to populate your paths and symbols tables. </p> the build to populate your paths and symbols tables. </p>
<p><span class="bold">To populate your tables:</span></p> <p><span class="bold">To populate your tables:</span></p>

View file

@ -12,7 +12,7 @@ function newWin(url) {
</script> </script>
</head> </head>
<body> <body>
<div role="main"><h1>Adding Include paths and symbols</h1> <div role="main"><h1>Adding Include paths and symbols in Managed Build System</h1>
<p>For CDT projects, you can define include paths and <p>For CDT projects, you can define include paths and
preprocessor symbols for the parser. This lets the parser understand the contents of the C/C++ source code so that you can more effectively use the search and code completion features. </p> preprocessor symbols for the parser. This lets the parser understand the contents of the C/C++ source code so that you can more effectively use the search and code completion features. </p>

View file

@ -0,0 +1,64 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) Andrew Gvozdev and others 2013,2013. This page is made available under license. For full details, see the LEGAL section in the documentation that contains this page.">
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Setting up include paths and macros for C/C++ indexer</title>
<link rel="stylesheet" type="text/css" href="../help.css">
</head>
<body>
<div>
<h1>Setting up include paths and macros for C/C++ indexer</h1>
<p>
CDT allows for comfortable environment with code highlighting, navigation, content assist and static analysis.
However, most C/C++ projects have to be configured to enjoy those features. Most real life C/C++ projects heavily depend on code outside of the project itself,
such as system headers or third party libraries. CDT indexer needs to process those to provide accurate index.
Failure to set up these important settings assuredly will cause the assist tools misbehave.
</p>
<p>CDT will try to discover include paths and preprocessor symbols automatically for supported toolchains. This process is known as <a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a> or <b>Autodiscovery</b>.
This discovery of symbols is twofold.
One way, CDT will try to detect built-in compiler symbols and include paths running the compiler with special options and parse the output.
Another method that CDT employs is to analyze build output of the regular build with Build Output Parser. Often, include paths are supplied to the compiler with -I options, and macros with -D options.
That relies on verbose build output of your build where all these options are actually printed by make.
</p>
<p>
<a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a> uses <strong>Language Settings Providers</strong> to find include paths and preprocessor symbols.
Language Settings Providers can be configured on project properties page "Preprocessor Include Paths, Macros, etc.", <a href="../reference/cdt_u_prop_general_sd_providers.htm">Providers tab</a> for a configuration
and on preference page <a href="../reference/cdt_u_pref_build_scanner_discovery.htm">C/C++ Preferences: Scanner Discovery</a> for shared providers.
</p>
<p>
If information retrieved by auto-discovery is insufficient or the project deviates from a standard one supported by CDT a user can inspect discovered entries and enter additional include paths and macros manually
on the property page "Preprocessor Include Paths, Macros, etc.", <a href="../reference/cdt_u_prop_general_sd_entries.htm">Entries tab</a>.
</p>
<p>
There are other ways to make C/C++ indexer aware of include paths or macros. One way is to set up them in MBS via "Paths and Symbols" project properties.
See <a href="cdt_t_proj_paths.htm">Including paths and symbols in Managed Build System</a>. These entries are supplied to the indexer with MBS Language Settings Provider.
</p>
<p><img src="../images/ngconcepts.gif" alt="Related concepts" width="143" height="21"><br>
<a href="../concepts/cdt_c_scanner_discovery.htm">Scanner Discovery</a><br>
<a href="../concepts/cdt_c_indexer.htm">C/C++ Indexer</a><br>
</p>
<p><img src="../images/ngtasks.gif" alt="Related tasks" width="143" height="21"><br>
<a href="../tasks/cdt_t_search.htm">Searching for C/C++ elements</a></p>
</p>
<p><img src="../images/ngref.gif" alt="Related reference" width="143" height="21"><br>
<a href="../reference/cdt_u_pref_build_scanner_discovery.htm">C/C++ Preferences: Scanner Discovery</a><br>
<a href="../reference/cdt_u_prop_general_scanner_discovery.htm">C/C++ Project properties: Preprocessor Include Paths, Macros, etc.</a><br>
</p>
</div></body>
</html>

View file

@ -16,7 +16,7 @@
programs to ensure the accuracy of search results. It is important to familiarize yourself with the correct search syntax programs to ensure the accuracy of search results. It is important to familiarize yourself with the correct search syntax
to use to complete an effective search. It is also important to ensure that to use to complete an effective search. It is also important to ensure that
include paths and symbols are correctly defined. For more information, see include paths and symbols are correctly defined. For more information, see
<a href="cdt_t_proj_paths.htm">Including paths and symbols</a>.</p> <a href="../tasks/cdt_t_sd.htm">Setting up include paths and macros for C/C++ indexer</a>.</p>
<p>See <a href="../concepts/cdt_c_search.htm">C/C++ search</a>, for more information on:</p> <p>See <a href="../concepts/cdt_c_search.htm">C/C++ search</a>, for more information on:</p>

View file

@ -16,7 +16,7 @@
programs to ensure the accuracy of search results. It is important to familiarize yourself with the correct search syntax programs to ensure the accuracy of search results. It is important to familiarize yourself with the correct search syntax
to use to complete an effective search. It is also important to ensure that to use to complete an effective search. It is also important to ensure that
include paths and symbols are correctly defined. For more information, see include paths and symbols are correctly defined. For more information, see
<a href="cdt_t_proj_paths.htm">Including paths and symbols</a>.</p> <a href="../tasks/cdt_t_sd.htm">Setting up include paths and macros for C/C++ indexer</a>.</p>
<p>See <a href="../concepts/cdt_c_search.htm">C/C++ search</a>, for more information on:</p> <p>See <a href="../concepts/cdt_c_search.htm">C/C++ search</a>, for more information on:</p>

View file

@ -24,6 +24,7 @@
</topic> </topic>
<topic label="Build" href="concepts/cdt_o_build_conc.htm"> <topic label="Build" href="concepts/cdt_o_build_conc.htm">
<topic label="Building C/C++ Projects" href="concepts/cdt_c_build_over.htm"/> <topic label="Building C/C++ Projects" href="concepts/cdt_c_build_over.htm"/>
<topic label="Scanner Discovery of include paths and preprocessor macros" href="concepts/cdt_c_scanner_discovery.htm"/>
</topic> </topic>
<topic label="Debug" href="concepts/cdt_o_dbg_concepts.htm"> <topic label="Debug" href="concepts/cdt_o_dbg_concepts.htm">
<topic label="BreakPoints" href="concepts/cdt_c_brkpnts.htm"/> <topic label="BreakPoints" href="concepts/cdt_c_brkpnts.htm"/>

View file

@ -40,18 +40,14 @@
<topic label="C/C++ Menubar" href="reference/cdt_o_menu.htm"> <topic label="C/C++ Menubar" href="reference/cdt_o_menu.htm">
<topic label="File Menu" href="reference/cdt_u_m_file.htm"/> <topic label="File Menu" href="reference/cdt_u_m_file.htm"/>
<topic label="Edit Menu" href="reference/cdt_u_m_edit.htm"/> <topic label="Edit Menu" href="reference/cdt_u_m_edit.htm"/>
<topic href="reference/cdt_u_m_source.htm" label="Source Menu"> <topic label="Source Menu" href="reference/cdt_u_m_source.htm"/>
</topic> <topic label="Refactor Menu" href="reference/cdt_u_m_refactor.htm"/>
<topic href="reference/cdt_u_m_refactor.htm" label="Refactor Menu">
</topic>
<topic label="Navigate Menu" href="reference/cdt_u_m_navigate.htm"/> <topic label="Navigate Menu" href="reference/cdt_u_m_navigate.htm"/>
<topic label="Search Menu" href="reference/cdt_u_m_search.htm"/> <topic label="Search Menu" href="reference/cdt_u_m_search.htm"/>
<topic label="Project Menu" href="reference/cdt_u_m_project.htm"/> <topic label="Project Menu" href="reference/cdt_u_m_project.htm"/>
<topic label="Run Menu" href="reference/cdt_u_m_run.htm"/> <topic label="Run Menu" href="reference/cdt_u_m_run.htm"/>
<topic href="reference/cdt_u_m_window.htm" label="Window Menu"> <topic label="Window Menu" href="reference/cdt_u_m_window.htm"/>
</topic> <topic label="Help Menu" href="PLUGINS_ROOT/org.eclipse.platform.doc.user/reference/ref-61.htm"/>
<topic href="PLUGINS_ROOT/org.eclipse.platform.doc.user/reference/ref-61.htm" label="Help Menu">
</topic>
</topic> </topic>
<topic label="C/C++ Toolbar" href="reference/cdt_u_toolbar.htm"/> <topic label="C/C++ Toolbar" href="reference/cdt_u_toolbar.htm"/>
@ -59,10 +55,9 @@
<topic label="C/C++ Find and Replace" href="reference/cdt_u_find_replace.htm"/> <topic label="C/C++ Find and Replace" href="reference/cdt_u_find_replace.htm"/>
<!-- PREFERENCE TOPICS --> <!-- PREFERENCE TOPICS -->
<topic label="C/C++ preferences" href="reference/cdt_u_c_pref.htm"> <topic label="C/C++ Preferences" href="reference/cdt_u_c_pref.htm">
<topic label="Appearance" href="reference/cdt_u_appearance_pref.htm"/> <topic label="Appearance" href="reference/cdt_u_appearance_pref.htm"/>
<topic href="reference/cdt_u_pref_build.htm" label="Build preferences"> <topic href="reference/cdt_u_pref_build.htm" label="Build preferences">
<topic label="Error Parsers Options" href="reference/cdt_u_pref_build_error_parsers.htm"/>
<topic label="Build Variables" href="reference/cdt_u_pref_build_vars.htm"/> <topic label="Build Variables" href="reference/cdt_u_pref_build_vars.htm"/>
<topic label="Console" href="reference/cdt_u_console_pref.htm"/> <topic label="Console" href="reference/cdt_u_console_pref.htm"/>
<topic label="Environment" href="reference/cdt_u_environment_pref.htm"/> <topic label="Environment" href="reference/cdt_u_environment_pref.htm"/>
@ -70,6 +65,8 @@
<topic label="Makefile Editor" href="reference/cdt_u_makefile_settings_pref.htm"> <topic label="Makefile Editor" href="reference/cdt_u_makefile_settings_pref.htm">
<topic label="Settings" href="reference/cdt_u_make_settings_pref.htm"/> <topic label="Settings" href="reference/cdt_u_make_settings_pref.htm"/>
</topic> </topic>
<topic label="Error Parsers" href="reference/cdt_u_pref_build_error_parsers.htm"/>
<topic label="Scanner Discovery" href="reference/cdt_u_pref_build_scanner_discovery.htm"/>
</topic> </topic>
<topic label="Code Style preferences" href="reference/cdt_u_c_code_style_pref.htm"> <topic label="Code Style preferences" href="reference/cdt_u_c_code_style_pref.htm">
@ -116,8 +113,7 @@
<topic label="Property Pages Settings" href="reference/cdt_u_pref_prop_pages.htm"> <topic label="Property Pages Settings" href="reference/cdt_u_pref_prop_pages.htm">
<topic label="Multiple Configurations Edit" href="reference/cdt_u_pref_multi_cfg.htm"/> <topic label="Multiple Configurations Edit" href="reference/cdt_u_pref_multi_cfg.htm"/>
</topic> </topic>
<topic href="reference/cdt_u_pref_task_tags.htm" label="Task Tags"> <topic label="Task Tags" href="reference/cdt_u_pref_task_tags.htm"/>
</topic>
</topic> </topic>
<!-- PROJECT PROPERTIES TOPICS --> <!-- PROJECT PROPERTIES TOPICS -->
@ -159,6 +155,10 @@
<topic label="References tab " href="reference/cdt_u_prop_general_pns_ref.htm"/> <topic label="References tab " href="reference/cdt_u_prop_general_pns_ref.htm"/>
<topic label="Data Hierarchy tab " href="reference/cdt_u_prop_general_pns_hier.htm"/> <topic label="Data Hierarchy tab " href="reference/cdt_u_prop_general_pns_hier.htm"/>
</topic> </topic>
<topic label="Preprocessor Include Paths, Macros, etc." href="reference/cdt_u_prop_general_scanner_discovery.htm">
<topic label="Entries tab" href="reference/cdt_u_prop_general_sd_entries.htm"/>
<topic label="Providers tab" href="reference/cdt_u_prop_general_sd_providers.htm"/>
</topic>
</topic> </topic>
<topic label="Project References page" href="reference/cdt_u_prop_ref.htm"/> <topic label="Project References page" href="reference/cdt_u_prop_ref.htm"/>
<topic label="Run/Debug Settings page" href="reference/cdt_u_prop_rundebug.htm"/> <topic label="Run/Debug Settings page" href="reference/cdt_u_prop_rundebug.htm"/>
@ -180,6 +180,7 @@
<topic label="Libraries path tab" href="reference/cdt_u_prop_general_pns_libpath.htm"/> <topic label="Libraries path tab" href="reference/cdt_u_prop_general_pns_libpath.htm"/>
<topic label="Data Hierarchy tab" href="reference/cdt_u_prop_general_pns_hier.htm"/> <topic label="Data Hierarchy tab" href="reference/cdt_u_prop_general_pns_hier.htm"/>
</topic> </topic>
<topic label="Preprocessor Include Paths, Macros, etc." href="reference/cdt_u_prop_general_scanner_discovery.htm"/>
</topic> </topic>
<topic label="Run/Debug Settings page" href="reference/cdt_u_prop_rundebug.htm"/> <topic label="Run/Debug Settings page" href="reference/cdt_u_prop_rundebug.htm"/>
</topic> </topic>
@ -200,6 +201,7 @@
<topic label="Symbols tab " href="reference/cdt_u_fileprop_sym.htm"/> <topic label="Symbols tab " href="reference/cdt_u_fileprop_sym.htm"/>
<topic label="Data Hierarchy tab" href="reference/cdt_u_prop_general_pns_hier.htm"/> <topic label="Data Hierarchy tab" href="reference/cdt_u_prop_general_pns_hier.htm"/>
</topic> </topic>
<topic label="Preprocessor Include Paths, Macros, etc." href="reference/cdt_u_prop_general_scanner_discovery.htm"/>
</topic> </topic>
<topic label="Run/Debug Settings page" href="reference/cdt_u_prop_rundebug.htm"/> <topic label="Run/Debug Settings page" href="reference/cdt_u_prop_rundebug.htm"/>
</topic> </topic>

View file

@ -79,7 +79,7 @@
</topic> </topic>
<topic label="Controlling debug execution" href="tasks/cdt_t_controldebug.htm"/> <topic label="Controlling debug execution" href="tasks/cdt_t_controldebug.htm"/>
<topic label="Stepping into assembler funcitons" href="tasks/cdt_t_disassembly.htm"/> <topic label="Stepping into assembler functions" href="tasks/cdt_t_disassembly.htm"/>
<topic label="Working with variables" href="tasks/cdt_t_variables.htm"/> <topic label="Working with variables" href="tasks/cdt_t_variables.htm"/>
<topic label="Adding expressions" href="tasks/cdt_t_expressions.htm"/> <topic label="Adding expressions" href="tasks/cdt_t_expressions.htm"/>
<topic label="Working with registers" href="tasks/cdt_t_registers.htm"/> <topic label="Working with registers" href="tasks/cdt_t_registers.htm"/>
@ -91,4 +91,6 @@
<topic label="Selection Searching for C/C++ elements" href="tasks/cdt_t_sel_search.htm"/> <topic label="Selection Searching for C/C++ elements" href="tasks/cdt_t_sel_search.htm"/>
<topic label="Setting Source Folders" href="tasks/cdt_t_set_src_fold.htm"/> <topic label="Setting Source Folders" href="tasks/cdt_t_set_src_fold.htm"/>
</topic> </topic>
<topic label="Include paths and macros for C/C++ indexer" href="tasks/cdt_t_sd.htm"/>
</toc> </toc>