Summary
Compiles C/C++ programs using cl.exe, Microsoft's C/C++ compiler.
- Assembly
- NAnt
.VisualCpp .dll - Namespace
- NAnt
.VisualCpp .Tasks - Interfaces
- Base Types
-
- Object
- Element
- Task
- ExternalProgramBase
graph BT
Type-->Base0["ExternalProgramBase"]
click Base0 "/api/NAnt.Core.Tasks/ExternalProgramBase"
Base0-->Base1["Task"]
click Base1 "/api/NAnt.Core/Task"
Base1-->Base2["Element"]
click Base2 "/api/NAnt.Core/Element"
Base2-->Base3["Object"]
Type-.->Interface0["IConditional"]
click Interface0 "/api/NAnt.Core/IConditional"
Type["ClTask"]
class Type type-node
Syntax
[TaskName("cl")]
public class ClTask : ExternalProgramBase, IConditional
Examples
Compiles helloworld.cpp
for the Common Language Runtime.
<cl outputdir="build" options="/clr">
<sources>
<include name="helloworld.cpp" />
</sources>
</cl>
Remarks
This task is intended for version 13.00.9466 of cl.exe.
Attributes
Type | Description |
---|---|
TaskNameAttribute | Indicates that class should be treated as a task. |
Constructors
Name | Summary |
---|---|
ClTask |
Initializes a new instance of the NAnt.VisualCpp.Tasks.ClTask class.
|
Fields
Name | Constant Value | Summary |
---|---|---|
UnknownExitCode | -1000 |
Defines the exit code that will be returned by
NAnt.Core.Tasks.ExternalProgramBase.ExitCode
if the process could not be started, or did not exit (in time).
Inherited from ExternalProgramBase
static
|
Properties
Name | Value | Summary |
---|---|---|
Arguments | ArgumentCollection |
The command-line arguments for the external program.
Inherited from ExternalProgramBase
|
BaseDirectory | DirectoryInfo |
Gets the working directory for the application.
Inherited from ExternalProgramBase
|
CharacterSet | CharacterSet |
Tells the compiler to use the specified character set.
|
CommandLine | string |
Gets the command-line arguments, separated by spaces.
Inherited from ExternalProgramBase
|
CustomXmlProcessing | bool |
Gets a value indicating whether the element is performing additional
processing using the
NAnt.Core.Element.XmlNode that was used to
initialize the element.
Inherited from Element
|
Defines | OptionCollection |
Macro definitions to pass to cl.exe.
Each entry will generate a /D
|
ErrorWriter | TextWriter |
Gets or sets the
System.IO.TextWriter to which error output
of the external program will be written.
Inherited from ExternalProgramBase
|
ExeName | string |
The name of the executable that should be used to launch the
external program.
Inherited from ExternalProgramBase
|
ExitCode | int |
Gets the value that the process specified when it terminated.
Inherited from ExternalProgramBase
|
FailOnError | bool |
Determines if task failure stops the build, or is just reported.
The default is
true .
Inherited from Task
|
ForcedUsingFiles | FileSet |
Specifies metadata files to reference in this compilation as an
alternative to passing a file name to
#using in source code.
|
IfDefined | bool |
If
true then the task will be executed; otherwise,
skipped. The default is true .
Inherited from Task
|
IncludeDirs | FileSet |
The list of directories in which to search for include files.
|
Location | Location |
Gets or sets the location in the build file where the element is
defined.
Inherited from Element
|
LogPrefix | string |
The prefix used when sending messages to the log.
Inherited from Task
|
Managed | ManagedExecution |
Specifies whether the external program should be treated as a managed
application, possibly forcing it to be executed under the currently
targeted version of the CLR.
Inherited from ExternalProgramBase
|
ManagedExtensions | bool |
Specifies whether Managed Extensions for C++ should be enabled.
The default is
false .
|
MetaDataIncludeDirs | FileSet |
Directories that the compiler will search to resolve file references
passed to the
#using directive.
|
Name | string |
The name of the task.
Inherited from Task
|
NamespaceManager | XmlNamespaceManager |
Gets or sets the
System.Xml.XmlNamespaceManager .
Inherited from Element
|
ObjectFile | string |
A name to override the default object file name; can be either a file
or directory name. The default is the output directory.
|
Options | string |
Options to pass to the compiler.
|
Output | FileInfo |
Gets the file to which the standard output should be redirected.
Inherited from ExternalProgramBase
|
OutputAppend | bool |
Gets a value indicating whether output will be appended to the
NAnt.Core.Tasks.ExternalProgramBase.Output .
Inherited from ExternalProgramBase
|
OutputDir | DirectoryInfo |
Directory where all output files are placed.
|
OutputWriter | TextWriter |
Gets or sets the
System.IO.TextWriter to which standard output
messages of the external program will be written.
Inherited from ExternalProgramBase
|
Parent | Object |
Gets or sets the parent of the element.
Inherited from Element
|
PchFile | string |
Specifies the path and/or name of the generated precompiled header
file - given either relative to
NAnt.VisualCpp.Tasks.ClTask.OutputDir or as an
absolute path.
|
PchMode | ClTask |
The mode in which the specified
NAnt.VisualCpp.Tasks.ClTask.PchFile (if any) is
used. The default is NAnt.VisualCpp.Tasks.ClTask.PrecompiledHeaderMode.Use .
|
PchThroughFile | string |
The path of the boundary file when generating/using the
specified
NAnt.VisualCpp.Tasks.ClTask.PchFile . If a precompiled header file is
not specified then this attribute is ignored.
|
ProcessId | int |
Gets the unique identifier for the spawned application.
Inherited from ExternalProgramBase
|
ProgramArguments | string |
Gets the command-line arguments for the external program.
|
ProgramDatabaseFile | string |
A name for the compiler-generated PDB file; can be either a file or
directory name. The default is the output directory.
|
ProgramFileName | string |
Gets the filename of the external program to start.
|
Project | Project |
Gets or sets the
NAnt.Core.Element.Project to which this element belongs.
Inherited from Element
|
Properties | PropertyDictionary |
Gets the properties local to this
NAnt.Core.Element and the
NAnt.Core.Element.Project .
Inherited from Element
|
Sources | FileSet |
The list of files to compile.
|
Spawn | bool |
Gets or sets a value indicating whether the application should be
spawned. If you spawn an application, its output will not be logged
by NAnt. The default is
false .
Inherited from ExternalProgramBase
|
Threshold | Level |
Gets or sets the log threshold for this
NAnt.Core.Task . By
default the threshold of a task is NAnt.Core.Level.Debug ,
causing no messages to be filtered in the task itself.
Inherited from Task
|
TimeOut | int |
The maximum amount of time the application is allowed to execute,
expressed in milliseconds. Defaults to no time-out.
Inherited from ExternalProgramBase
|
Undefines | OptionCollection |
Macro undefines (/U) to pass to cl.exe.
|
UnlessDefined | bool |
Opposite of
NAnt.Core.Task.IfDefined . If false
then the task will be executed; otherwise, skipped. The default is
false .
Inherited from Task
|
UseRuntimeEngine | bool |
Specifies whether the external program is a managed application
which should be executed using a runtime engine, if configured.
The default is
false .
Inherited from ExternalProgramBase
|
Verbose | bool |
Determines whether the task should report detailed build log messages.
The default is
false .
Inherited from Task
|
XmlNode | XmlNode |
Gets or sets the XML node of the element.
Inherited from Element
|
Methods
Name | Value | Summary |
---|---|---|
CopyTo |
void |
Copies all instance data of the
NAnt.Core.Element to a given
NAnt.Core.Element .
Inherited from Element
|
Execute |
void |
Executes the task unless it is skipped.
Inherited from Task
|
ExecuteTask |
void |
Compiles the sources.
|
Get |
XmlNode |
Locates the XML node for the specified attribute in either the
configuration section of the extension assembly or the.project.
Inherited from Task
|
Get |
XmlNode |
Inherited from Element
|
GetLocation |
Location |
Retrieves the location in the build file where the element is
defined.
Inherited from Element
|
GetObjOutputFile |
string |
Determines the file name of the OBJ file for the specified source
file.
static
|
Initialize |
void |
Initializes the task.
Inherited from Task
|
Initialize |
void |
Performs default initialization.
Inherited from Element
|
Initialize |
Element |
Initializes the build element.
Inherited from Element
static
|
InitializeElement |
void |
Derived classes should override to this method to provide extra
initialization and validation not covered by the base class.
Inherited from Element
|
InitializeTask |
void |
Initializes the task.
Inherited from Task
|
Initialize |
void |
Initializes the configuration of the task using configuration
settings retrieved from the NAnt configuration file.
Inherited from Task
|
InitializeXml |
void |
Initializes all build attributes and child elements.
Inherited from Element
|
IsLogEnabledFor |
bool |
Determines whether build output is enabled for the given
NAnt.Core.Level .
Inherited from Task
|
Log |
void |
Logs a message with the given priority.
Inherited from Task
|
Log |
void |
Logs a formatted message with the given priority.
Inherited from Task
|
NeedsCompiling |
bool |
Determines if the sources need to be compiled.
|
PrepareProcess |
void |
Updates the
System.Diagnostics.ProcessStartInfo of the specified
System.Diagnostics.Process .
Inherited from ExternalProgramBase
|
QuoteArgumentValue |
string |
Quotes an argument value and duplicates trailing backslahes.
static
|
StartProcess |
Process |
Starts the process and handles errors.
Inherited from ExternalProgramBase
|