Difference between revisions of "Project Settings"

From VSI OpenVMS Wiki
Jump to: navigation, search
m (Project Settings Description)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
=Project Configuration Example=
 
=Project Configuration Example=
 +
[[File:"Project Settings" Example.png|thumb|Project Settings]]
 
<pre>
 
<pre>
 
{
 
{
Line 14: Line 15:
 
         "root": "project",
 
         "root": "project",
 
         "source": "*.{cpp,c}",
 
         "source": "*.{cpp,c}",
 +
        "addCompQual": "/FLOAT=G_FLOAT",
 +
        "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 19: Line 22:
 
}
 
}
 
</pre>
 
</pre>
[[File:"Project Settings" Example.png|thumb|Project Settings]]
 
  
 
=Project Settings Description=
 
=Project Settings Description=
Line 33: Line 35:
 
** '''java''', '''kotlin''' or '''scala''' for JVM based projects.  
 
** '''java''', '''kotlin''' or '''scala''' for JVM based projects.  
 
* <code>'''resource'''</code> - Files required for the project, but are not involved in the build process.
 
* <code>'''resource'''</code> - Files required for the project, but are not involved in the build process.
* <code>'''root'''</code> - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder.
+
* <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.
+
* <code>'''addIncludes'''</code> - list of folders in ODS-5 format, separated by commas.<br>
 +
 
 +
'''Note: <code>'''root'''</code> must not have trailing "/"
  
 
=Adjusting Project Settings=
 
=Adjusting Project Settings=
# Set the <code>'''root'''</code> 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'''.
+
# Set the <code>'''root'''</code> 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'''.
 
# Select the <code>'''projectType'''</code> that you need.
 
# Select the <code>'''projectType'''</code> that you need.
 
# Specify the <code>'''projectName'''</code>. '''NOTE''': do not use spaces or special characters.
 
# Specify the <code>'''projectName'''</code>. '''NOTE''': do not use spaces or special characters.
Line 48: 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.
  
 
[[Category:VMS IDE]]
 
[[Category:VMS IDE]]

Latest revision as of 19:33, 24 June 2022

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.