This action will build Embarcadero Delphiâ„¢ for .NET projects (.bdsproj). Delphi for .NET is significantly different from earlier versions of Delphi, thus requiring a separate action.
The path to your .bdsproj file (only for Delphi for .NET projects, for Win32 see the Compile Delphi Project action).
Perform a complete rebuild all
Whether to update the package source during the build or not.
Whether to compiler resource files during the compile or not.
Choose the compiler version to compile your project
The configuration of the project to build with this action.
Use references settings in .bdsproj/.dproj
This option will mean all path information will be removed from references specified in the project. Helpful for building on different machines where installed libraries exist in different locations.
When turned on the Delphi compiler will perform code optimisations. Examples of these are (but not limited to):
All optimization operations are considered "safe" and don't alter the meaning of the program.
Determines the maximum padding that can be used to align a field. Each setting has some extra side affects these are listed below;
Variables and typed constants are all aligned with optimal access in mind.
When turned on the compiler will enforce type checking for short strings passed as variable parameters. This is really only important for Delphi code which uses short strings.
When turned on the compiler generates code in which all components of an AND and OR statement are evaluated. Therefore guarenteeing calling of each component on the statement.
When off the compiler generates code which short circuits the statements. This means when evaluated in left to right order, if the result of the statement has become apparent no more of the statement is called.
Determines whether Delphi Extended Syntax should be used or not. When enabled the following Delphi features are able to be used;
Determines how the compiler should treat the @ operator and compatibility of pointer types.
Controls the compilers interpretation of variable parameter strings. When disabled variable string parameters are not treated differently. When enabled variable string parameters are treated as open strings. Regardless of this setting OpenString identifier can be used at any-time.
Controls as to whether the compiler will allow typed contants to be altered or not. When turned On constants are able to be assigned to. When Off constants are not able to be assigned to. In some older code this option is required for the code to compile, for newer projects its suggested to not enable this option.
Enables or disabled the generation of documentation generation from XML documentation tags with in the source code.
The platform that the compiler should target. Options are Any, x86, and x64.
Whether to keep the config generated for the compiler or not. When On this option means the action will keep the cfg file and rename it to <ProjectFile>.used or dcc32.used. The file will be placed in the same directory as the project file being compiled.
When enabled all array and string indices are validated to be within the bounds of the variable. In addition all scalar and subrange variables are validated to within their bounds. Having this option enabled adds extra checking to the generated code, and therefore will execute slower.
When enabled all I/O procedures have code generated which checks for non-zero return results. When a non-zero return result is detected an EInOutError exception is raised.
When enabled the arithmetic operations of +, -, *, Abs, Sqr, Succ, Pred, Inc, and Dec are have results checked for overflowing the returned variables type. Having this option enabled adds extra checking to the generated code, and therefore will execute slower.
When enabled the compiler is signalled to generate debugging information which is maps object-code to address into the source text file. This information is stored in the unit file with unit object code. This does not affect the speed of generated code, however does cause the compilation process to take up more memory.
When enabled the compiler generates local symbol information. Local symbol information is the name and type of all local variables and constants in the a module. This information is stored in the unit file with unit object code. This does not affect the speed of generated code, however does cause the compilation process to take up more memory.
When enabled the compiler generates symbol reference information. This information is typically used by the Code Editor and the Project manager. Some other tools may require it.
In combination with the Reference Info option, this option simply limits the reference information generated to just when identifiers are defined. If turned off, information would be generated for when identifiers are defined and when they are referenced.
Determines whether the compiler should include assert generation or not. When turned On assert calls will be included into the generated code. When turned Off assert calls will be omitted from the generated code.
When turned on the compiler will switch to using the debug DCU path specified on the Directories tab.
Whether to report hints into the build log or not.
Whether to report warnings into the build log or not.
Set if hints should be treated as an error and cause the compilation to fail if found.
Set if warnings should be treat as an error and cause the compilation to fail if found.
Tells the linker to to flag the applications .exe as a console mode application.
Tells the linker to generate a line-number table for each procedure for mapping source code to object-code.
Instructs the linker to generate remote debug symbol information for generated code. These are .rsm files.
Tells the linker to generate a .drcil file as part of its processing.
Instructs the linker as to the initial committed size of the stack.
Instructs the linker as to the maximum reserved size of the stack.
Instructs the linker as to the default load address for an application, DLL, or package.
The description string for the generated executable. Only usable for executable and DLL generation.
The directory to which generated binaries will be written. Whether this be a dll, dcu, or exe.
The directory to which all dcu files will be written. If left blank dcu files will be generated in the same location as the unit they relate to.
If enabled the compiler will be given the search path from the project settings of the supplied project. The search path supplied in this options dialog will be ignored.
The search path to give to the compiler. The search path is where the compiler will look for source files.
If enabled the compiler will be given the global library path instead of the library path specified in the action.
The paths in which the compiler will look for libraries.
The directory to which generated package files are written to.
The directory to which all dcp files will be written. If left blank then the global DCP output directory will be used.
If enabled the conditional defines listed in the project file will be used instead of the ones listed in the dialog.
The conditional defines which should be passed to the compiler. Each one should be separated with a semi-colon.
A list of name/value pairs that define unit name aliases. Useful for backwards compatibility and where units have either change name, or been merged into one larger unit.
Specify namespaces to automatically apply to uses clauses for unit names which belong to that scope. E.g. Specify FMX, so that FMX.Graphics can be specified as Graphics.
The list of attributes and their values which should be updated into the assembly information fields.