C/C++ Project Properties, Managed, C/C++ Build, Environment

Customizes the environment variables to be used in building your build configuration.

C/C++ Project Properties, Managed, C/C++ Build, Environment

Project Type:
Displays the type of project that is built by the selected build configuration.
Configuration:
Specifies the selected build configuration from the list provided.
Manage...
Adds, removes, renames and converts configurations.
Configuration Settings
Adds, removes and edits environment variables for a project or configuration.  Each tab contains two tables - one for user-defined environment variables and one for non user-defined environment variables.  Each table contains two columns:

Name of the environment variable

Value of the environment variable. 

You can view all environment variables that are not user-defined in the System Variables table.  You can choose to also display all variables defined for lower-precedence contexts in the System Variables table by checking the Show parent level variables checkbox. System variables are read-only.

You can view all user-defined variables in the User Variables table.   A user-defined variable overrides a non user-defined variable of the same name for the given level.  Overridden variables are displayed in bold in the System Variables table.

Restore Defaults
Returns any changes back to their default setting.
Apply
Applies any changes.

Detailed Specification

Users and tool-chain integrators can define the set of environment variables to be used while the build process is executing.

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.

Build Environment variables can be specified at several levels:

1.      Configuration level – variables specific to the selected configuration

2.      Project level – variables specific to the selected project and common for all project configurations

3.      Workspace level – variables specific to the current workspace

4.      System environment passed to eclipse

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.

Users can create and delete environment variables for any given project configuration, for the entire project or for the entire workspace.

To create a new variable the "New" button should be pressed. A dialog box representing the variable definition will appear.

 

A variable definition contains the name, the value, the delimiter and the "operation" to perform on the variable of the same name defined at the lower-precedence level. The following "operations" are defined: 

·        "append":  If the variable already exists, add the user-specified value to the end of any existing value that the environment variable has.  If the variable does not yet exist, create the variable and set it to the user-specified value.

·        "prepend":  If the variable already exists, add the user-specified value to the beginning of any existing value that the environment variable has.  If the variable does not yet exist, create the variable and set it to the user-specified value.

·        "replace":  If the variable already exists, set the value to the user-specified value.  If the variable does not yet exist, create the variable and set it to the user-specified value.

·        "delete":  If the variable already exists, remove the variable.

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.

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.

When the "replace" operation is selected, the "Value" field is used to specify the variable value.

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.

When the "delete" operation is selected, the "Value", "Delimiter" and "Prepended/Appended value" field becomes inaccessible.

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.

Related reference
C++ Project Properties, Standard, Info
C++ Project Properties, Standard, Builders
C++ Project Properties, Standard, File Types
C++ Project Properties, Standard, Include Paths and Symbols
C++ Project Properties, Standard, Indexer
C++ Project Properties, Standard, Make Builder
C++ Project Properties, Standard, Error Parser
C++ Project Properties, Standard, Binary Parser
C++ Project Properties, Standard, Discovery Options
C++ Project Properties, Standard, Source
C++ Project Properties, Standard, Output
C++ Project Properties, Standard, Projects
C++ Project Properties, Standard, Libraries
C++ Project Properties, Standard, Path Containers
C++ Project Properties, Standard, Project References
C++ Project Properties, Managed, Info
C++ Project Properties, Managed, Builders
C++ Project Properties, Managed, C/C++ Build
C++ Project Properties, Managed, Manage Configuration Dialog
C++ Project Properties, Managed, C/C++ Build, Tool Settings
C++ Project Properties, Managed, C/C++ Build, Build Settings
C++ Project Properties, Managed, C/C++ Build, Build Steps
C++ Project Properties, Managed, C/C++ Build, Error Parsers
C++ Project Properties, Managed, C/C++ Build, Binary Parser
C++ Project Properties, Managed, C/C++ Build, Macros
C++ Project Properties, Managed, C/C++ Documentation
C++ Project Properties, Managed, C/C++ File Types
C++ Project Properties, Managed, C/C++ Indexer
C++ Project Properties, Managed, Project References
C++ Project Properties, Managed, Refactoring History

Managed Build Project preferences

Managed Build Project preferences, Environment

Managed Build Project preferences, Macros

Intel Copyright Statement