Build Configurations

From VSI OpenVMS Wiki
Jump to: navigation, search

A project build configuration defines how the project should be built. You can have multiple build configurations for a project so that you can build the same code for different purposes.
By default, there are two build configurations:

  • DEBUG, which is necessary for debugging
  • RELEASE, which produces binaries for your project deployment.

If necessary, you can add custom build configurations for your project.

Working with build configurations

Editing build configurations

You can edit the list of build configurations the same way you edit the project settings:

  1. Press F1 and run the VMS-IDE: Edit VMS project settings command or use the Project Explorer view
  2. Find the builds section
  3. Make the required changes

Changing current build configuration

To change the current build configuration:

  1. Open the Project Explorer view
  2. In the PROJECT DESCRIPTION section, right-click the buildName parameter, then select Change
  3. In the popup list select the required configuration.

Build configuration parameters

Each build configuration includes the following parameters:

  • label - unique name of the build configuration. Note: the label is also used as the name of the output folder.
  • description - description of the build configuration
  • command - command (MMS or COM file) to build or clean the project
  • parameter - parameter to pass over to the command

Default build configuration

If the command is empty, the default auto-created MMS file is used to build the project. The parameter value is used to specify the type of the build: DEBUG or RELEASE.

Custom build configurations

If the user defined command is an MMS file, it is processed via "MMS/EXTENDED_SYNTAX/DESCR=<MMS file> parameter" command. The parameter value is treated as a target.

If the user defined command is a COM file, it is executed with "@<COM file> parameter" command.

NOTE: It is recommended that the user-defined build procedure creates resulting files in <project root>/<output folder>/<build label> directory.

Example

    "builds": {
        "configurations": [
            {
                "label": "DEBUG",
                "description": "DEBUG",
                "command": "",
                "parameter": "DEBUG" 
            },
            {
                "label": "RELEASE",
                "description": "RELEASE",
                "command": "",
                "parameter": "RELEASE" 
            },
            {
                "label": "myOwnRelease",
                "description": "My own build release",
                "command": "executable.mms",
                "parameter": "" 
            },
            {
                "label": "myOwnDebug",
                "description": "My own build debug",
                "command": "build.com",
                "parameter": "DEBUG" 
            }
        ]
    }