Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 004a627ce8baa4e031c2da209bdfed7fa1b70cc6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
  <meta http-equiv="Content-Language" content="en-us">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>C/C++ Project Properties, Managed, Build</title>
  <link rel="stylesheet" type="text/css" href="../help.css">
  <style>
<!--
 li.MsoNormal
	{mso-style-parent:"";
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";
	margin-left:0in; margin-right:0in; margin-top:0in}
-->
  </style>
</head>
<body>
<h1>C/C++ Project Properties, Managed, C/C++ Build, Environment</h1>
Customizes the environment variables to be used in building your build
configuration.
<p><img img="" src="../images/mprop_env.png"
 alt="C/C++ Project Properties, Managed, C/C++ Build, Environment"></p>
<p></p>
<dl>
  <dt>Project Type:</dt>
  <dd>Displays the type of project that is built by the selected build
configuration.</dd>
  <dt>Configuration:</dt>
  <dd>Specifies the selected build configuration from the list provided.</dd>
  <dt>Manage...</dt>
  <dd>Adds, removes, renames and converts configurations.</dd>
  <dt>Configuration Settings</dt>
  <dd>Adds, removes and edits environment variables for a project or
configuration.&nbsp; Each tab contains two tables - one for
user-defined environment variables and one for non user-defined
environment variables.&nbsp; Each table contains two columns<b>:</b>
    <p><b>Name</b> of the environment variable</p>
    <p><b>Value </b>of the environment variable.&nbsp; </p>
    <p>You can view all environment variables that are not user-defined
in the <b>System Variables</b> table.<span
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-stretch: normal; font-size-adjust: none;">&nbsp;&nbsp;</span><span
 style="font-style: normal; font-variant: normal; font-weight: normal;">You</span>
can choose to also display all variables defined for lower-precedence
contexts in the <b>System Variables</b> table by checking the <b>Show
parent level variables</b> checkbox. System variables are read-only.</p>
    <p class="MsoNormal">You can view all user-defined variables in the
    <b>User Variables</b> table.<span
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-stretch: normal; font-size-adjust: none;">&nbsp;&nbsp;
    </span>A user-defined variable overrides a non user-defined
variable of the same name for the given level.&nbsp; Overridden
variables are displayed in bold in the <b>System Variables</b> table. </p>
  </dd>
  <dt>Restore Defaults</dt>
  <dd>Returns any changes back to their default setting.</dd>
  <dt>Apply</dt>
  <dd>Applies any changes.</dd>
</dl>
<h2>Detailed Specification</h2>
<p style="margin-top: 15px; margin-bottom: 0pt;">Users and tool-chain
integrators can define the set of environment variables to be used
while the build process is executing. </p>
<p class="MsoNormal" style="margin-top: 0pt; margin-bottom: 0pt;">Since
the environment variable names are case sensitive on Unix-like systems
and case insensitive on Windows systems, the Managed Build System (MBS)
will treat the variable names in the same manner as the host system.</p>
<ul>
  <li>
    <p class="MsoNormal" style="margin-top: 10px; margin-bottom: 0pt;">MBS
will allow tool-integrators and users to specify multiple variables
whose names differ only in case on systems that support case sensitive
variable names and will not allow them to do that on Windows systems. </p>
  </li>
  <li>
    <p class="MsoNormal" style="margin-top: 10px; margin-bottom: 0pt;">MBS
will also treat variable names as case sensitive (on Unix-like systems)
or case insensitive (on Windows systems) in its own operations
(overriding a lower-level variable, etc.) </p>
  </li>
</ul>
<p class="MsoNormal"><span lang="EN-US">Build Environment variables can
be specified at several levels:</span></p>
<blockquote>
  <p class="MsoNormal" style="margin-top: 0pt; margin-bottom: 0pt;"> <span
 lang="EN-US">1.<span
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-stretch: normal; font-size-adjust: none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span>Configuration level – variables specific to the selected
configuration</span></p>
  <p class="MsoNormal"
 style="text-indent: -0.25in; margin-left: 0.25in; margin-top: 0pt; margin-bottom: 0pt;">
  <span lang="EN-US">2.<span
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-stretch: normal; font-size-adjust: none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span>Project level – variables specific to the selected project and
common for all project configurations</span></p>
  <p class="MsoNormal"
 style="text-indent: -0.25in; margin-left: 0.25in; margin-top: 0pt; margin-bottom: 0pt;">
  <span lang="EN-US">3.<span
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-stretch: normal; font-size-adjust: none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span>Workspace level – variables specific to the current workspace</span></p>
  <p class="MsoNormal"
 style="text-indent: -0.25in; margin-left: 0.25in; margin-top: 0pt; margin-bottom: 0pt;">
  <span lang="EN-US">4.<span
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-stretch: normal; font-size-adjust: none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span>System environment passed to eclipse</span></p>
</blockquote>
<p class="MsoNormal"><span lang="EN-US">When running the build utility
for the selected configuration, the process' total environment
variables set will be generated, including variables from all specified
levels. Levels have precedence over each other as specified in the
above list. So, for example, if configuration level and workspace level
have a variable of the same name, the configuration variable will take
precedence, etc.</span></p>
<p style="margin-bottom: 0pt;">Users can create and delete environment
variables for any given project configuration, for the entire project
or for the entire workspace.</p>
<p style="margin-bottom: 0pt;">To create a new variable the "New"
button should be pressed. A dialog box representing the variable
definition will appear.<br>
</p>
<p style="margin-bottom: 0pt;">
<img border="0" src="../images/mprop_env_new_repl.PNG" width="433"
 height="223"></p>
<p style="margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt;">A variable definition contains the name,
the value, the delimiter and the "operation" <span lang="EN-US">to
perform on the variable of the same name defined at the
lower-precedence level. The following "operations" are defined:&nbsp;</span></p>
<p class="MsoNormal"
 style="text-indent: -0.25in; margin-left: 53.25pt; margin-top: 0pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-stretch: normal; font-size-adjust: none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
"</span></span><span lang="EN-US">append":&nbsp; If the variable
already exists, add the user-specified value to the end of any existing
value that the environment variable has.&nbsp; If the variable does not
yet exist, create the variable and set it to the user-specified value.</span></p>
<p class="MsoNormal"
 style="text-indent: -0.25in; margin-left: 53.25pt; margin-top: 0pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-stretch: normal; font-size-adjust: none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang="EN-US">"prepend":&nbsp; If the variable
already exists, add the user-specified value to the beginning of any
existing value that the environment variable has.&nbsp; If the variable
does not yet exist, create the variable and set it to the
user-specified value.</span></p>
<p class="MsoNormal"
 style="text-indent: -0.25in; margin-left: 53.25pt; margin-top: 0pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-stretch: normal; font-size-adjust: none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
"</span></span><span lang="EN-US">replace":&nbsp; If the variable
already exists, set the value to the user-specified value.&nbsp; If the
variable does not yet exist, create the variable and set it to the
user-specified value.</span></p>
<p class="MsoNormal"
 style="text-indent: -0.25in; margin-left: 53.25pt; margin-top: 0pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-stretch: normal; font-size-adjust: none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang="EN-US">"delete":&nbsp; If the variable
already exists, remove the variable.</span></p>
<p>The resulting value of the variable used for the build process will
be calculated by querying all levels from bottom to top and performing
the operations for the variables defined at those levels.</p>
<p>The "Name" field contains the list of variables that are already
defined. A user can choose any variable from the list or enter a new
variable name. When the variable from the list is chosen or the name
typed by the user matches already defined variable name, the other
fields of the dialog get filled in with the current value, delimiter
and operation of that variable.</p>
<p>When the "replace" operation is selected, the "Value" field is used
to specify the variable value.</p>
<p>When either the "prepend" or "append" operation is selected, the
"Value" field becomes grayed and the "Prepended/Appended value" field
becomes visible that allows user to specify the value to be
prepended/appended. The resulting variable value will be automatically
calculated and displayed in the "Value" field. The delimiter to be used
with append/prepend operations may be specified in the "Delimiter"
field.</p>
<p>
<img border="0" src="../images/mprop_env_new_prep.png" width="433"
 height="223"></p>
<p>When the "delete" operation is selected, the "Value", "Delimiter"
and "Prepended/Appended value" field becomes inaccessible.</p>
<p>When performing the variable value calculation the variable name
case sensitivity will be taken in account. That is, on Windows systems,
the variables of the different levels or provided by different
suppliers with names that differ only in case will be treated as the
same variable. Conversely, on Unix-like systems, where case sensitive
variable names are supported, variables with names that differ only in
case will be treated as different variables. </p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><img border="0"
 src="../images/ngref.gif" alt="Related reference" width="143"
 height="21"><br>
<a href="cdt_u_sprop_info.htm">C++ Project Properties, Standard, Info</a><br>
<a href="cdt_u_sprop_builders.htm">C++ Project Properties, Standard,
Builders</a><br>
<a href="cdt_u_sprop_file_types.htm">C++ Project Properties, Standard,
File Types</a><br>
<a href="cdt_u_sprop_includes.htm">C++ Project Properties, Standard,
Include Paths and Symbols</a><br>
<a href="cdt_u_sprop_indexer.htm">C++ Project Properties, Standard,
Indexer</a><br>
<a href="cdt_u_sprop_mbuild.htm">C++ Project Properties, Standard, Make
Builder</a><br>
<a href="cdt_u_sprop_merror.htm">C++ Project Properties, Standard,
Error Parser</a><br>
<a href="cdt_u_sprop_mbinary.htm">C++ Project Properties, Standard,
Binary Parser</a><br>
<a href="cdt_u_sprop_mdiscovery.htm">C++ Project Properties, Standard,
Discovery Options</a><br>
<a href="cdt_u_sprop_psource.htm">C++ Project Properties, Standard,
Source</a><br>
<a href="cdt_u_sprop_poutput.htm">C++ Project Properties, Standard,
Output</a><br>
<a href="cdt_u_sprop_pproj.htm">C++ Project Properties, Standard,
Projects</a><br>
<a href="cdt_u_sprop_plib.htm">C++ Project Properties, Standard,
Libraries</a><br>
<a href="cdt_u_sprop_pcontainers.htm">C++ Project Properties, Standard,
Path Containers</a><br>
<a href="cdt_u_sprop_ref.htm">C++ Project Properties, Standard, Project
References</a><br>
<a href="cdt_u_mprop_info.htm">C++ Project Properties, Managed, Info</a><br>
<a href="cdt_u_mprop_builders.htm">C++ Project Properties, Managed,
Builders</a><br>
<a href="cdt_u_mprop_build.htm">C++ Project Properties, Managed, C/C++
Build</a><br>
<a href="cdt_u_mprop_manage.htm">C++ Project Properties, Managed, Manage Configuration Dialog</a><br>
<a href="cdt_u_mprop_tool_settings.htm">C++ Project Properties,
Managed, C/C++ Build, Tool Settings</a><br>
<a href="cdt_u_mprop_build_settings.htm">C++ Project Properties,
Managed, C/C++ Build, Build Settings</a><br>
<a href="cdt_u_mprop_dcbs.htm">C++ Project Properties, Managed, C/C++
Build, Build Steps</a><br>
<a href="cdt_u_mprop_merror.htm">C++ Project Properties, Managed, C/C++
Build, Error Parsers</a><br>
<a href="cdt_u_mprop_mbinary.htm">C++ Project Properties, Managed,
C/C++ Build, Binary Parser</a><br>
<a href="cdt_u_mprop_macros.htm">C++ Project Properties, Managed, C/C++
Build, Macros</a><br>
<a href="cdt_u_mprop_documentation.htm">C++ Project Properties,
Managed, C/C++ Documentation</a><br>
<a href="cdt_u_mprop_file_types.htm">C++ Project Properties, Managed,
C/C++ File Types</a><br>
<a href="cdt_u_mprop_indexer.htm">C++ Project Properties, Managed,
C/C++ Indexer</a><br>
<a href="cdt_u_mprop_ref.htm">C++ Project Properties, Managed, Project
References</a><br>
<a href="cdt_u_mprop_refactoring_history.htm">C++ Project Properties, Managed, Refactoring History</a></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><a
 href="cdt_o_mproj_pref.htm">Managed Build Project preferences</a></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><a
 href="cdt_o_mproj_pref_env.htm">Managed Build Project preferences,
Environment</a></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><a
 href="cdt_o_mproj_pref_macro.htm">Managed Build Project preferences,
Macros</a></p>
<p><img src="../images/intl_05.gif" ALT="Intel Copyright Statement" ></p>
</body>
</html>

Back to the top