Select Compiler dialog

Please note: The items and options described below are only available in UEStudio and the following information doesn't apply to UltraEdit.

This dialog may be used to select the compiler to be used for the active project. The Select Compiler dialog may be invoked from the Set Compiler Options dropdown under the Build tab. Please note: This feature is only supported in UEStudio.

To configure the options to be used with this compiler, press the Edit Configuration button. This will expand the active dialog to display the Compiler Configuration Editor.

In the editor comments begin with a "#", sections are enclosed in "[" and "]" and MUST be placed at the beginning of the line. To save the modified file, press the Save Configuration button. If you have opened a project, the Make Configuration Local button will be enabled and is used to store the configuration with the project.

When the tool is executed, UEStudio first searches in the project directory for a local configuration and if one is not found, UEStudio will search in the \configs directory. If you need to use a modified configuration file, but only for some projects, the Make Configuration Local button may be used to save the modified configuration to disk. If you no longer need the local configuration, deselect this button and the file with configuration information will automatically be removed from disk.

In the configuration files there are BASE SECTIONS that MUST be there because without them the Build functions will not work. These are: Settings, General, Build and MakeCommands. As sub-settings of the Settings section there can be SettingsInfo and SettingsReps. Probably the Variables, Environment and FileGroups sections will be used as well as some sections for tools attached to source files. When you write a configuration file, you will use some of the PROJECT VARIABLES. Project variables begin with "$" or with another char that is set in the General section.

Project variables are: $P, $Pp, $Pn.

$P - is a full path to project (e.g. C:\Projects\Application\Application.prj), $Pp - is path without name and $Pn is the name of project without its extension. $Pe is not used, because extension of a project is always ".prj". These are GLOBAL variables and can be used in any build/compile command.

Following are the variables that can be used in the BUILD section. These are: $T, $Tp, $Tn,

$T - is a full path to target file (e.g. C:\Prjs\App\Out\App.exe), $Tp is a path and $Tn is a name as in previous case.

$O, $Op, $On, $Oe

$O is the full path to an output file. In the BUILD section it maybe equal with target. It's the value of the "Out" key in a Build section. $Op is a path, $On is a filename without extension, $Oe is an extension. The last variable that can be used is $R. It's the value of the key DebugFlag or ReleaseFlag, depending on the MODE you use to build the project.

Following are the variables that can be used in the COMPILE sections or the sections for tools that work with single files.
These are: $I, $Ip, $In, $Ie,

$I is a full path to input file. $Ip is a path, $In is a filename without extension, $Ie is an extension.

$O, $Op, $On, $Oe

$O is a full path to output file. It's a value of a key "Out" in a section. $Op is a path, $On is a filename without extension, $Oe is an extension. The last variable that can be used is $R. It's the value of the key DebugFlag or ReleaseFlag, depends on MODE you use to build project.

There are 12 different sections in the configuration files:

Section

Description

[Settings]

where all the keys that you can see when you open Project Settings dialog are stored

[SettingsInfo]

contains short information about Project keys

[SettingsReps]

SettingsReps means "settings replacements". SettingsReps may be used to simplify configuration creation

[Variables]

may be used to simplify the content of configuration files

[Environment]

variables declared in this section are also accessible from other sections as $(name), but will be stored in the environment

[General]

MAIN compiler's section. It includes BASE keys that MUST be set and OPTIONAL keys that may or may not be set.

[MakeCommands]

where keys for tools such as PACKER, PROFILER or PETOOLS that you want to use to work with target files are specified (Most compilers include two keys in this section: RUN and DEBUG)

[InsertFiles]

files and groups of files specified here will be added to the BUILD process

[FileGroups]

groups of files used for the same intent are specified here. Most compilers have groups of OBJECTS generated with compilers specified here and these objects are used in linker commands.

[GroupFormats]

where the FORMAT for objects in a generated group is set

[Build]

where commands that are executed when you click the Build button are specified

[.EXT]

where commands are specified that are executed if a source file is open and the Compile button is clicked