The properties you specify on the
COBOL page in your project properties apply to the selected configuration.
Note: You can set file properties that differ from the ones set for the project. In this case, the properties set on file level take precedence over those set for the project. To revert a file setting to the value set on the project level, set its value to
<inherit from parent or project defaults>.
General
- Platform target
- The target platform, such as x86, x64 or Any CPU. Any CPU is available for managed code projects only. Valid values are given in the drop-down list.
For .NET managed projects, this is equivalent to the ILTARGET Compiler directive.
Tip: Avoid building your managed projects for Any CPU if they include ActiveX references. Instead, set the particular target platform to either x86 or x64 to match the targeting of the ActiveX control.
- COBOL dialect
- Specify the COBOL dialect used by your code. This sets the DIALECT Compiler directive for the project accordingly.
- Source format
- The default source format for source files. This is one of Fixed, Variable, or Free. Equivalent to the SOURCEFORMAT Compiler directive, but can be overridden (and often is) by using a $set statement in the source code.
- Compile for debugging
- With this option set, the Compiler creates files containing extra information about your application that is used for debugging; sets the ANIM compiler directive.
- Multi-processor compilation
- Only applies to native COBOL. Enables a faster, parallel compilation of the source code in your project on multi-CPU machines.
You need to specify the number of
Maximum concurrent COBOL compilations in
Tools > Options > Micro Focus > Projects where, by default, this number is automatically set to the number of CPUs of your computer.
Restriction: Should be avoided for native Object-Oriented COBOL.
- Define DEBUG constant
- Adds
constant DEBUG(1) to the build directives for managed code and in Debug configurations. Setting the DEBUG constant in this way enables you to use the
System.Diagnostics.Debug class in your applications to ensure they write diagnostic information in the Output window for projects compiled for Debug but not for projects compiled for Release.
- Compile to .gnt
- Check this to compile your application to .gnt code. This setting only applies to INT/GNT projects or to native projects whose
Output type is set to
INT/GNT on the
Application tab in the project properties.
- Build Events
- The commands to be executed before or after the build and when to execute them. See the Visual Studio Help for details.
Errors and Warnings
The Errors and Warnings fields enable you to choose what warnings and errors will be displayed when you build the specified configuration.
- Warning level
- Specifies the severity of errors or the warning messages that are displayed in the output console.
The default warning level for new COBOL project is
Include recoverable errors (Level E). This also includes severe (Level S) and unrecoverable (Level U) errors. After creating a project,
Micro Focus recommends you set its warning level to
Include warnings (Level W) where appropriate to help avoid potential coding problems.
- Stop after
- Specifies the maximum number of errors or the warning messages that will be displayed during the build.
- Treat warnings as errors
- Stops the build when a warning is received.
Output
- Output path
- The directory that contains the build output files. The output path may differ for native and managed projects.
For .NET managed code this is equivalent to the ILOUTPUT Compiler directive.
- Generate directives file
- For each individual COBOL program,
ProgramN.cbl, in the project, this generates a separate file,
ProgramN.dir, in the output folder for the active configuration of the project. Each file contains the directives that are used to compile the respective COBOL program.
For managed single-output projects, this only generates a single file,
ProjectName.dir, with the directives that are used to compile the project.
Note: Cleaning the project deletes the directives files.
- Generate listing file
- Check this to generate a standard Micro Focus listing file,
filename.lst, containing the original COBOL source statements with any warning or error messages included for each
filename.cbl file in your project. By default, the files are saved in a
Listing subfolder within the project directory. This is equivalent to setting LIST() and LISTPATH".\Listing\" directives.
To specify a different location for storing the listing files, type
LISTPATH"path" in the
Additional Directives field on the
COBOL page in your project properties.
Cleaning the project deletes only the listing files that are saved to the default
Listing subfolder of the project.
- Enable code coverage
- Check this to enable
Visual COBOL to log code execution details for each program and sub-program when you run the application. See
Code Coverage (Native COBOL) in your product help for more details.
- Enable profiler
- Check this to enable the Profiler utility to collect detailed statistics on the run-time performance of your application. For more details, see
Profiler in your product help.
Warning: If you are collecting Profiler statistics, you must not compile your application with both
Enable profiler and
Enable code coverage checked. Compiling with
Enable code coverage adds instrumentation information to your build outputs which is designed for use by the Code Coverage utility. This extra information could affect the results of your Profiler run.
If you have both options enabled, to collect Profiler statistics you need to disable
Enable code coverage first, recompile your application and then start your application using
Debug > Run with Micro Focus Profiler.
Smart Linkage
This setting is only supported for managed COBOL projects.
- Expose group linkage items to managed code
- Check this to generate one class for every 01 level group item in the Linkage Section of your programs when compiling to managed COBOL. This exposes each data item in the group as a property of this class, where the property is of a standard managed type. Equivalent to setting the ILSMARTLINKAGE Compiler directive.
- Options
- Click this to set additional Compiler directives when compiling with ILSMARTLINKAGE:
- Prefixes to remove from the names of the COBOL data items
- Specify the prefixes to remove from the data items on your code. Use space as a separator when specifying more than one prefix, for example -
lnk-b link-. Equivalent to setting the ILCUTPREFIX Compiler directive.
- Expose as serializable classes
- Check this to make the classes generated with ILSMARTLINKAGE serializable. Equivalent to setting the ILSMARTSERIAL Compiler directive.
- Expose as nested classes of the program class
- Check this to expose the Linkage Section items and entry points to managed code as nested classes of the program class in which they are defined. Equivalent to setting the ILSMARTNEST Compiler directive.
- Limit property generation to non-redefining elementary items
- Check this to limit the generation of properties in the classes produced when compiling with ILSMARTLINKAGE to non-redefining elementary items. This is equivalent to setting the ILSMARTRESTRICT Compiler directive.
Additional Directives
This field enables you to specify additional COBOL Compiler directives to pass to the Compiler.
Advanced
The
Advanced COBOL Settings dialog box enables you to specify the following settings:
- General
-
- Additional copybook paths
- The paths to search for copybook files that apply only to the selected build configuration of the current project. This enables you, for example, to have different copybook paths for debug and release builds. Use semicolon as a delimiter when entering multiple copybook paths.
This option sets the COBCPY environment variable, which is appended with the COBCPY setting in the Registry.
You can specify general copybook paths that apply to the project regardless of the active build configuration on the Copybook Paths page of your project properties. The configuration-specific copybook paths take precedence over the project copybook paths.
- Verifiable code
- This setting applies to managed code only. Check this if you want to generate verifiable code. By default, the build produces non-verifiable code as this ensures a better performance of the Compiler.
Note: Projects created using the SQL Server Database template have this option enabled by default. Verifiable code is required in the SQL Server Database environment.
- Generate 64-bit pointers
- This setting is available for managed projects only. Compiles the project with 64-bit pointer support enabled. Equivalent to the P64 Compiler directive.
- Output
-
- Register for COM interop
- This setting is available for .NET managed code only. Value of true or false, to determine whether or not to register the build output as a COM component, which allows non-.NET code to use the project as if it was a COM object.
- XML documentation file
- This setting is available for .NET managed code only. Generates documentation in XML format that includes the comments you have made in the source code about the used methods and classes. Equivalent to the ILDOC Compiler directive.
Build Settings
Displays the build directives that are passed to the Compiler.
Note: The controls displayed on the properties page are determined by the type of project you are working on. As a result, some of the controls described here might be missing from your properties page or be unavailable for selection.