VMake supports the functionality to execute a program or shell script, either one built (or defined) in a project or declared as external resource in the project definition. This functionality is used to create data files or performing simple selftests by comparing the output with predefined data set.
Execute-Program
This rule executes a program controlled by VMake. The name of the
executable must be given symbolically, either a program generated by
Program-Target (see Program-Target) or
VLisp-Program (see VLisp-Program) or an external
declared executable with the External-Program (see
External-Program). The generated output may be used as data file
for further processing or marked for installation with the
Install-Target (see Install-Target). For selftests the
output can be checked by the Check-Target (see
Check-Target).
The key program is the symbolicName of a program generated by
VMake for either the current project or one of the sub-projects.
The key input specifies the set of input data for the program. The standard input used by the program can be specified by the key stdin. The keys local, copy and readwrite force local input files by a symbolic link, a local copy, and input files with read-write access even if they remain unmodified, respectively. The default input device is the NULL device of the operating system since the program is run non interactively.
The key output lists all files to be generated. The keys stdout and stderr can be used to redirect the standard and error output of the program. At least one of these three keys must be present. The key sysdep has to be specified if the output of the program is configuration dependent, e.g., for selftests. The default output devices are redirected files. In this case output on standard error implies an error condition in VMake.
The key arguments specifies the command line arguments used for program execution (see Section 4.2.5). Additional information may be passed through the environment defined by the key environment described in the same section.
The key remove lists files to be removed after program execution. No wildcard expression is allowed in these file names.
Check-Target
This rule compares output data files from the Execute-Program with
a predefined data set of correct values. The results are automatically
logged into the file defined by the environment variable VREPORT. It
defaults to the file ``vreport.dat'' in the directory specified by
the environment variable VPROJECT.
The key check defines the files to be compared with the predefined
data specified by the key compare.The list of files for both keys
must have identical length.
The key type specifies how the data sets are compared:
The complex data types of pif and svg are supported since they are extensively used by the VISTA project.