Compilation Command
A JSON Compilation Database entry.
Either arguments or command is required. arguments is preferred, as shell (un)escaping is a possible source of errors.
Parameters
the main translation unit source processed by this compilation step. This is used by tools as the key into the compilation database. There can be multiple command objects for the same file, for example if the same source file is compiled with different configurations.
the compile command executed. After JSON unescaping, this must be a valid command to rerun the exact compilation step for the translation unit in the environment the build system uses. Parameters use shell quoting and shell escaping of quotes, with "
and \
being the only special characters. Shell expansion is not supported.
the compile command argv
as list of strings. This should run the compilation step for the translation unit file. arguments[0]
should be the executable name, such as clang++
. Arguments should not be escaped, but ready to pass to execvp()
.
the name of the output created by this compilation step. This field is optional. It can be used to distinguish different processing modes of the same input file.
See also
Throws
Constructors
Properties
The compile command argv
as list of strings. This should run the compilation step for the translation unit file. arguments[0]
should be the executable name, such as clang++
. Arguments should not be escaped, but ready to pass to execvp()
.
The compile command executed. After JSON unescaping, this must be a valid command to rerun the exact compilation step for the translation unit in the environment the build system uses. Parameters use shell quoting and shell escaping of quotes, with "
and \
being the only special characters. Shell expansion is not supported.
Splits the receiver into individual arguments.