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.
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.
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.
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.)
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.
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