DVT SystemVerilog IDE User Guide
Rev. 19.1.17, 17 May 2019

32.6.1 Create a Project (Mixed-Language Capable)

createProject <project_path> [-workingset [-newwindow]] [-force] [-close_others]
           [-f|-F <file_path>] [-top <top_file_path>] [-test <test_file_path>]
           [-map <link_name> <target_path>] [-name <project_name>]
           [-lang <lang>] [-perspective <perspective>] [-clearcase]
           [-git <repo1:repo2:...:repoN>] [-p4 <connection_parameters>]
           [-exclude|include [[name|path|projectRelativePath[_regex]=<pattern>]|[symlink=true|false]]][,root=folder1[:sub/folderN]][,applies=f|d|rf|rd]]
           [-build <name>] [-<name>.build <build configuration directives ...>]

Mandatory arguments:

   <project_path> Absolute path to project (must exist).
   -lang          Enable support for <lang> language: E, VLOG, VHDL, CPP, CPP_EXT. 
                  CPP, CPP_EXT are only valid when DVT CDT Integration feature is installed.
                  At least one language must be specified.

Optional arguments:

   -<name>.build     Create the build configuration file <project>/.dvt/<name>.build with
                     <build configuration directives> as content. All flags up to the end of the
                     command line, or up to the next -<name>.build flag are considered build
                     configuration directives. This flag cannot be used in conjunction with
                     -f, -F, -test, or -top.

   -build <name>     Set <name> as active build configuration.

   -clearcase        Share project with ClearCase Eclipse plugin.

   -include auto[:<threshold>]
                     Automatically create resource filters, based on the build configuration.
                     Only relevant directories are included, for example +incdirs, -y libdirs, 
                     $SPECMAN_PATH entries and parent directories of top files.
                     Relevant directories containing more than <threshold> files will not be included.
                     If not specified, the threshold defaults to 500. 

   -exclude|include  [[name|path|projectRelativePath[_regex]=<pattern>]|[symlink=true|false]],][root=folder1[:sub/folderN],][applies=f|d|rf|rd]

                     Create resource filters.
                     Use include to keep files or directories matching <pattern>.
                     Use exclude to filter out files or directories matching <pattern>.

                     Syntax details:

                     [name|path|projectRelativePath[_regex]=]<pattern>
                       If only <pattern> is specified it is equivalent with name=<pattern>.
                       For <name|location|projectRelativePath>=<pattern>, the pattern is case insensitive and allows simple wildcards (* and ?).
                       For <name_regex|location_regex|projectRelativePath_regex>=<pattern>, the pattern is case sensitive and allows regular expressions.

                     symlink=true|false
                       When symlink=true only symlinked resources are matched by the filter.
                       When symlink=false only non-symlinked resources are matched by the filter.

                     root=folder1[:sub/folderN]
                       By default filter applies to project root children, unless you specify one or more roots.

                     applies=f|d|fr|dr
                       By default filter applies recursively to files and directories under root(s), unless you restrict it:
                         f = filter applies only to _f_iles under root(s)
                         d = filter applies only to _d_irectories under root(s)
                         rf = filter applies _r_ecursively to _f_iles under root(s)
                         rd = filter applies _r_ecursively to _d_irectories under root(s)

         [NOTE]      Do not use trailing slashes when specifying a path pattern.
         [NOTE]      DVT provides a user interface for managing Resource Filters as a simpler and more
                     intuitive alternative to the Eclipse built-in Resource Filters management UI.
                     However, DVT's UI only works for <projectRelativePath> filters that do not
                     contain wildcards or regular expressions.

   -f|-F             Specify a command file for the project. -f and -F are mutually exclusive.

   -force            Overwrite existing project.

   -git              Add the specified repositories to the Git Repositories View. A colon (:) separated
                     list of repository paths must be provided.
         [NOTE]      Repository paths must include (end with) the /.git segment.

   -map              Create a linked resource called <link_name> pointing to <link_target>.

   -name             Use as project name instead of project's directory name.

   -newwindow        Open a new window with the working set selected.

   -p4               Share project with Perforce Eclipse plugin. The <connection_parameters>
                     argument must be specified as a list of <parameter>=<value> separated by commas.
                               Mandatory parameters:
                                   P4PORT=<host:port> (P4PORT=company_server:1666)
                                   P4CLIENT=<perforce_workspace_name> (P4CLIENT=perforce-work)
                                   P4USER=<username> (P4USER user1)
                               Optional parameters:
                                   P4CHARSET=<charset_type> (P4CHARSET=none)
                                   P4PASSWD=<password> (P4PASSWD=password123)
                                   SAVEPASS=<save_in_secure_storage_or_not> (SAVEPASS=false)
                                   OFFLINE=<working_offline_or_not> (OFFLINE=false)

   -perspective      Switch to <perspective> after creating the project. By default, DVT switches to
                     the DVT Perspective if multiple -lang directives are provided. If a single
                     language is enabled, the corresponding perspective is activated.
                     Valid argument values: E, VLOG, VHDL, DVT or a perspective id.

   -svn              Share project with the Subclipse SVN Eclipse plugin. The SVN repository URL must be provided.
                     The repository is added to the SVN Repositories View if not existing.

   -test             Specify a test file for the project. You can specify this option multiple times.

   -top              Specify a top file for the project. You can specify this option multiple times.

   -workingset       Add project to a working set.

   -close_others     Close all projects in the workspace except the newly created one.

NOTE: For backward compatibility, the commands createEProject and createSVProject are still recognized by the DVT CLI, and are equivalent with a createProject command plus the corresponding -lang flag.