Difference between revisions of "Project Settings"

From VSI OpenVMS Wiki
Jump to: navigation, search
(Project Configuration Example)
(Adjusting Project Settings)
(3 intermediate revisions by the same user not shown)
Line 15: Line 15:
 
         "root": "project",
 
         "root": "project",
 
         "source": "*.{cpp,c}",
 
         "source": "*.{cpp,c}",
         "addCompQual": "/FLOAT=G_FLOAT"
+
         "addCompQual": "/FLOAT=G_FLOAT",
         "addCompDef": "MAXFPS=10,NO_SCREEN,IMAGE_NAME=\"\"\"DEF\"\"\""
+
         "addCompDef": "MAXFPS=10,NO_SCREEN,IMAGE_NAME=\"\"\"DEF\"\"\"",
 
         "addLibraries": "sys$library:IMAGELIB.OLB,sys$library:RDBMSGS.OLB",
 
         "addLibraries": "sys$library:IMAGELIB.OLB,sys$library:RDBMSGS.OLB",
 
         "addIncludes": "sys$library"
 
         "addIncludes": "sys$library"
Line 37: Line 37:
 
* <code>'''root'''</code> - 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.
 
* <code>'''root'''</code> - 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.
 
* <code>'''source'''</code> - Mask for the source files, e.g. "*.{c,cpp}".
 
* <code>'''source'''</code> - Mask for the source files, e.g. "*.{c,cpp}".
 +
* <code>'''addCompQual'''</code> - additional qualifiers for compiler, as is.
 +
* <code>'''addCompDef'''</code> - additional defines for compiler, strings should be enclosed in triple escaped quotes.
 
* <code>'''addLibraries'''</code> - list of libraries in ODS-5 format, separated by commas.
 
* <code>'''addLibraries'''</code> - list of libraries in ODS-5 format, separated by commas.
 
* <code>'''addIncludes'''</code> - list of folders in ODS-5 format, separated by commas.<br>
 
* <code>'''addIncludes'''</code> - list of folders in ODS-5 format, separated by commas.<br>
Line 52: Line 54:
 
# Adjust the <code>'''exclude'''</code> field value to list the files similar to the described above but not to be synchronized and compiled.
 
# Adjust the <code>'''exclude'''</code> field value to list the files similar to the described above but not to be synchronized and compiled.
 
# Check <code>'''listing'''</code>. These files will be downloaded after building the project. Files "*.lis,*.map" are required for debugger.
 
# Check <code>'''listing'''</code>. These files will be downloaded after building the project. Files "*.lis,*.map" are required for debugger.
# If the project depends on already installed libraries, specify the in the <code>'''addLibraries'''</code> and <code>'''addIncludes'''</code>  
+
# If the project depends on already installed libraries, specify them in the <code>'''addLibraries'''</code> and <code>'''addIncludes'''</code>  
 +
# Do not forget about "VMS-IDE: Create/Update MMS" after changing project settings
  
 
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video "Project Settings" shown at 2:40 - 3:37 time period.
 
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video "Project Settings" shown at 2:40 - 3:37 time period.
  
 
[[Category:VMS IDE]]
 
[[Category:VMS IDE]]

Revision as of 11:02, 4 March 2021

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
  11. Do not forget about "VMS-IDE: Create/Update MMS" after changing project settings

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