Project Settings

From VSI OpenVMS Wiki
Revision as of 11:00, 4 March 2021 by Sergey vorfolomeev (talk | contribs) (Adjusting Project Settings)
Jump to: navigation, search

Project Configuration Example

Project Settings
{
    "project": {
        "break": "C",
        "builders": "*.{mms,com}",
        "exclude": "**/{node_modules,.vscode}/**",
        "headers": "*.h",
        "listing": "*.lis",
        "outdir": "out",
        "projectName": "project",
        "projectType": "executable",
        "resource": "**/resource/**",
        "root": "project",
        "source": "*.{cpp,c}",
        "addCompQual": "/FLOAT=G_FLOAT"
        "addCompDef": "MAXFPS=10,NO_SCREEN,IMAGE_NAME=\"\"\"DEF\"\"\""
        "addLibraries": "sys$library:IMAGELIB.OLB,sys$library:RDBMSGS.OLB",
        "addIncludes": "sys$library"
    }
}

Project Settings Description

  • break - Keyboard key to pause debugging in VMS IDE debugger. The extension uses combination CTRL+Key to pause debugging when user press Pause or F6.
  • builders - Mask for files used for building the project. Default is "*.{mms,com}".
  • exclude - Folders excluded from synchronization with OpenVMS system.
  • headers - Header files. Default is "*.{h,hpp}".
  • listing - Listing files that will be downloaded after the project is built for debugging purpose.
  • outdir - Output directory where object, listing and executable files will be stored when built. Is also used for temporary files. NOTE: Should be only the name of the folder, not a full or relative path.
  • projectName - Name for the executable file, auto-generated MMS file for builder, OPT file for linker, and COM file for defining logical names. NOTE: Use one word only; do not use spaces or special characters.
  • projectType - Type of the project. Note: the building method depends on the type of the project and its dependencies. Available types:
    • executable, library or shareable for classic languages;
    • java, kotlin or scala for JVM based projects.
  • resource - Files required for the project, but are not involved in the build process.
  • root - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder. Also it may be absolute path if it starts with "/". In this case first word in path is a disk (or logical name). Only default system logical names may be used in root, because login.com is not executed in SFTP session.
  • source - Mask for the source files, e.g. "*.{c,cpp}".
  • addCompQual - additional qualifiers for compiler, as is.
  • addCompDef - additional defines for compiler, strings should be enclosed in triple escaped quotes.
  • addLibraries - list of libraries in ODS-5 format, separated by commas.
  • addIncludes - list of folders in ODS-5 format, separated by commas.
  Note: root must not have trailing "/"

Adjusting Project Settings

  1. Set the root directory. For example, if the project is located in WORK:[USER.DEMOS.SIMPLE] and the home directory is WORK:[USER], set the parameter value to demos/simple or /work/user/demos/simple.
  2. Select the projectType that you need.
  3. Specify the projectName. NOTE: do not use spaces or special characters.
  4. Check builders. These files will be synchronized.
  5. Check headers. These files will be synchronized and included into the auto-generated MMS file as header files. Changing any of them will result in full project rebuild.
  6. Check source. These files will be synchronized and included into the auto-generated MMS file as source files.
  7. Check resource. These files will be synchronized but not included into the auto-generated MMS file.
  8. Adjust the exclude field value to list the files similar to the described above but not to be synchronized and compiled.
  9. Check listing. These files will be downloaded after building the project. Files "*.lis,*.map" are required for debugger.
  10. If the project depends on already installed libraries, specify them in the addLibraries and addIncludes

Video tutorial: VMS IDE 1 Starting a Project. In video "Project Settings" shown at 2:40 - 3:37 time period.