<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="../../help.css">
<title>Remote Paths and Symbols, Includes</title>
</head>

<body>
<h1>Remote Paths and Symbols, Includes</h1>

<p>
The remote indexer needs to know the location of header files in order
to parse them and add their contents to the index. The <b>Remote Includes</b>
tab of the <b>Remote Paths and Symbols</b> properties page allows you to
add, remove and reorder the include paths that are used to find
header files on the remote machine.
</p>
<p>
The paths must be given in a format that is appropriate for the operating
system of the machine where the remote indexer is located.
</p>
<p>
If the remote builder has been configured properly then 
RDT may be able to automatically determine the include paths used by the 
compiler on the remote machine. These include paths are called "built-in".
If RDT is not able to automatically determine the include paths, or if
additional include paths are needed, then they must be added manually.
</p>
<p>
It may take some time to initially set up the include paths and other
project settings. In order to avoid having to perform this task for
multiple RDT installations an <a href="settings_wizard_export.html">import/export mechanism</a> is provided
to allow these settings to be easily shared.
</p>

<h2>The Remote Paths properties page</h2>
<p>
<img src="../../images/remote_paths_dialog.png" 
        alt="Remote Paths Properties Page">
</p>

<dl>
	<dt>Languages (left pane)</dt>
        <dd>Displays languages related to this project. Select one to see corresponding include paths.</dd>
	<dt>Include paths (right pane)</dt>
        <dd>List of include paths related to given language.</dd>
	<dt>Add</dt>
        <dd>Add new include path</dd>
	<dt>Edit</dt>
        <dd>Modify selected include path</dd>
	<dt>Delete</dt>
        <dd>Remove selected include path</dd>
	<dt>Export / Unexport</dt>
        <dd>Toggle selected path exported or not</dd>
	<dt>Move Up</dt>
        <dd>Move the currently selected element up in the list.</dd>
	<dt>Move Down</dt>
        <dd>Move the currently selected element down in the list.</dd>
	<dt>Show built-in values</dt>
        <dd>Check to display system (built-in) includes.</dd>
</dl>

<h2>Adding an Include</h2>
<p>
<img src="../../images/remote_include_dialog.png" 
        alt="Remote Include Directory dialog">
</p>

<p>
Clicking <b>Add</b> on the Remote Paths properties page will cause
the <b>Remote Include Directory</b> dialog to appear. Enter a valid path on the
remote machine, or click <b>Browse...</b> to launch a dialog that will allow
a directory on the remote machine to be selected. 
</p>

<p>
Check the <b>Add to all configurations</b> checkbox to add the include path
to all build configurations, otherwise the include path will only be added
to the build configuration that was selected on the properties page.
</p>

<p>
Check the <b>Add to all languages</b> checkbox to add the include path
to all languages, otherwise the include path will only be added
to the language that was selected on the properties page.
</p>

</body>
</html>
