NAnt.VisualCppTasks
Compiles C/C++ programs using cl.exe, Microsoft's C/C++ compiler.
This task is intended for version 13.00.9466 of cl.exe.Compiles helloworld.cpp for the Common Language Runtime.
]]>
Initializes a new instance of the class.
Compiles the sources.
Determines if the sources need to be compiled.
Determines whether the precompiled header file is up-to-date.
if no precompiled header file was specified;
otherwise, .
In order to determine accurately whether the precompile header file
is up-to-date, we'd need scan all the header files that are pulled
in. As this is not implemented right now, its safer to always
recompile.
Determines whether any file that are includes in the specified
source file has been updated after the obj was compiled.
The source file to check.
The last write time of the compiled obj.
The full path to the include file that was modified after the obj
was compiled, or if no include files were
modified since the obj was compiled.
To determine what includes are defined in a source file, conditional
directives are not honored.
If a given include cannot be resolved to an existing file, then
it will be considered stable.
Quotes an argument value and duplicates trailing backslahes.
The argument value to quote.
The quotes argument value.
Determines the file name of the OBJ file for the specified source
file.
The source file for which the OBJ file should be determined.
The path of the object file.
The file name of the OBJ file for the specified source file.
Directory where all output files are placed.
Specifies the path and/or name of the generated precompiled header
file - given either relative to or as an
absolute path.
The path of the boundary file when generating/using the
specified . If a precompiled header file is
not specified then this attribute is ignored.
The mode in which the specified (if any) is
used. The default is .
Specifies whether Managed Extensions for C++ should be enabled.
The default is .
Tells the compiler to use the specified character set.
Options to pass to the compiler.
The list of files to compile.
The list of directories in which to search for include files.
Directories that the compiler will search to resolve file references
passed to the #using directive.
Specifies metadata files to reference in this compilation as an
alternative to passing a file name to #using in source code.
Macro definitions to pass to cl.exe.
Each entry will generate a /D
Macro undefines (/U) to pass to cl.exe.
A name to override the default object file name; can be either a file
or directory name. The default is the output directory.
A name for the compiler-generated PDB file; can be either a file or
directory name. The default is the output directory.
Gets the filename of the external program to start.
The filename of the external program.
Gets the command-line arguments for the external program.
The command-line arguments for the external program.
Defines the supported modes for the use of precompiled header files.
Create a precompiled header file.
For further information on the use of this option
see the Microsoft documentation on the C++ compiler flag /Yc.
Automatically create a precompiled header file if necessary.
For further information on the use of this option
see the Microsoft documentation on the C++ compiler flag /YX.
Use a (previously generated) precompiled header file.
For further information on the use of this option
see the Microsoft documentation on the C++ compiler flag /Yu.
Run lib.exe, Microsoft's Library Manager.
Create a library.
]]>
Creates the library.
Determines if the sources need to be linked.
Options to pass to the compiler.
The output file.
The module definition file.
The list of files to combine into the output file.
Symbols to add to the symbol table.
Names of default libraries to ignore.
The list of additional library directories to search.
Gets the filename of the external program to start.
The filename of the external program.
Gets the command-line arguments for the external program.
The command-line arguments for the external program.
Links files using link.exe, Microsoft's Incremental Linker.
This task is intended for version 7.00.9466 of link.exe.
Combine all object files in the current directory into helloworld.exe.
]]>
Links the sources.
Determines if the output needs linking.
Quotes an argument value and duplicates trailing backslahes.
The argument value to quote.
The quotes argument value.
Options to pass to the compiler.
Create debugging information for the .exe file or DLL. The default is
.
The output file.
A user-specified name for the program database (PDB) that the linker
creates. The default file name for the PDB has the base name of the
and the extension .pdb.
The name of a module-definition file (.def) to be passed to the
linker.
Specified DLLs for delay loading.
The list of files to combine into the output file.
The list of additional library directories to search.
Link the specified modules into this assembly.
Embed the specified resources into this assembly.
Symbols to add to the symbol table.
Names of libraries that you want the linker to ignore when it
resolves external references.
Gets the filename of the external program to start.
The filename of the external program.
Gets the command-line arguments for the external program.
The command-line arguments for the external program.
Compiles messages using mc.exe, Microsoft's Win32 message compiler.
Compile text.mc using the default options.
]]>
Compile text.mc, passing a path to store the header, the rc
file and some additonal options.
]]>
Compiles the sources.
Determine if source files need re-building.
Options to pass to the compiler.
Path to store header file. The default is the project base directory.
Path to store RC file. The default is the project base directory.
Input filename.
Gets the filename of the external program to start.
The filename of the external program.
Gets the command-line arguments for the external program.
The command-line arguments for the external program.
This tasks allows you to run MIDL.exe.
This task only supports a small subset of the MIDL.EXE command line
switches, but you can use the options element to specify any other
unsupported commands you want to specify.
]]>
This is where the work is done.
Check output files to see if we need rebuilding.
if a rebuild is needed; otherwise,
.
Check output files to see if we need rebuilding.
if a rebuild is needed; otherwise,
.
Writes the response file for midl.exe.
The /acf switch allows the user to supply an
explicit ACF file name. The switch also
allows the use of different interface names in
the IDL and ACF files.
The /align switch is functionally the same as the
MIDL /Zp option and is recognized by the MIDL compiler
solely for backward compatibility with MkTypLib.
The alignment value can be 1, 2, 4, or 8.
The /app_config switch selects application-configuration
mode, which allows you to use some ACF keywords in the
IDL file. With this MIDL compiler switch, you can omit
the ACF and specify an interface in a single IDL file.
The /char switch helps to ensure that the MIDL compiler
and C compiler operate together correctly for all char
and small types.
Can be one of signed | unsigned | ascii7
The /client switch directs the MIDL compiler to generate
client-side C source files for an RPC interface
can be one of stub | none
The /cstub switch specifies the name of the client
stub file for an RPC interface.
Specifies the file name for the generated dlldata file for a proxy
DLL. The default file name Dlldata.c is used if
is not specified.
The /env switch selects the
environment in which the application runs.
It can take the values win32 and win64
The /Oi switch directs the MIDL compiler to
use a fully-interpreted marshaling method.
The /Oic and /Oicf switches provide additional
performance enhancements.
If you specify the Oi attribute, you must set it to
one of the values:
- Oi=""
- Oi="c"
- Oi="f"
- Oi="cf"
Specifies a file name for the type library generated by the MIDL
compiler.
Specifies the name of the header file.
Specifies the name of the interface identifier file for a COM
interface, overriding the default name obtained by adding _i.c
to the IDL file name.
Specifies the name of the interface proxy file for a COM interface.
Name of .IDL file to process.
Additional options to pass to midl.exe.
Macro definitions to pass to mdil.exe.
Each entry will generate a /D
Macro undefines (/U) to pass to mdil.
The list of directories in which to search for include files.
Filename of program to execute
Gets the command-line arguments for the external program.
The command-line arguments for the external program.
Compiles resources using rc.exe, Microsoft's Win32 resource
compiler.
Compile text.rc to text.res using the default options.
]]>
Compile text.rc, passing an additional option.
]]>
Compile the resource file
Determines if the resource need compiling.
Check if a resource file has been updated.
Options to pass to the compiler.
Output file.
The resource file to compile.
Default language ID.
The list of directories in which to search for include files.
Macro definitions to pass to rc.exe.
Each entry will generate a /d
Filename of program to execute
Arguments of program to execute
Defines the character sets that can be used by the C++ compiler.
Have the compiler determine the character set.
Unicode character set.
Multi-byte character set.
Represents a library.
Initializes a new instance of the class.
Initializes a new instance of the class with
the specified name.
is .
The name of the library.
If then the element will be processed;
otherwise, skipped. The default is .
If then the element will be skipped;
otherwise, processed. The default is .
Contains a collection of elements.
Initializes a new instance of the class.
Initializes a new instance of the class
with the specified instance.
Initializes a new instance of the class
with the specified array of instances.
Adds a to the end of the collection.
The to be added to the end of the collection.
The position into which the new element was inserted.
Adds the elements of a array to the end of the collection.
The array of elements to be added to the end of the collection.
Adds the elements of a to the end of the collection.
The to be added to the end of the collection.
Determines whether a is in the collection.
The to locate in the collection.
if is found in the
collection; otherwise, .
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.
The zero-based index in at which copying begins.
Retrieves the index of a specified object in the collection.
The object for which the index is returned.
The index of the specified . If the is not currently a member of the collection, it returns -1.
Inserts a into the collection at the specified index.
The zero-based index at which should be inserted.
The to insert.
Returns an enumerator that can iterate through the collection.
A for the entire collection.
Removes a member from the collection.
The to remove from the collection.
Gets or sets the element at the specified index.
The zero-based index of the element to get or set.
Enumerates the elements of a .
Initializes a new instance of the class
with the specified .
The collection that should be enumerated.
Advances the enumerator to the next element of the collection.
if the enumerator was successfully advanced
to the next element; if the enumerator has
passed the end of the collection.
Sets the enumerator to its initial position, which is before the
first element in the collection.
Gets the current element in the collection.
The current element in the collection.
Represents a symbol.
Initializes a new instance of the class.
Initializes a new instance of the class with
the specified name.
is .
The name of the symbol.
If then the element will be processed;
otherwise, skipped. The default is .
If then the element will be skipped;
otherwise, processed. The default is .
Contains a collection of elements.
Initializes a new instance of the class.
Initializes a new instance of the class
with the specified instance.
Initializes a new instance of the class
with the specified array of instances.
Adds a to the end of the collection.
The to be added to the end of the collection.
The position into which the new element was inserted.
Adds the elements of a array to the end of the collection.
The array of elements to be added to the end of the collection.
Adds the elements of a to the end of the collection.
The to be added to the end of the collection.
Determines whether a is in the collection.
The to locate in the collection.
if is found in the
collection; otherwise, .
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.
The zero-based index in at which copying begins.
Retrieves the index of a specified object in the collection.
The object for which the index is returned.
The index of the specified . If the is not currently a member of the collection, it returns -1.
Inserts a into the collection at the specified index.
The zero-based index at which should be inserted.
The to insert.
Returns an enumerator that can iterate through the collection.
A for the entire collection.
Removes a member from the collection.
The to remove from the collection.
Gets or sets the element at the specified index.
The zero-based index of the element to get or set.
Enumerates the elements of a .
Initializes a new instance of the class
with the specified .
The collection that should be enumerated.
Advances the enumerator to the next element of the collection.
if the enumerator was successfully advanced
to the next element; if the enumerator has
passed the end of the collection.
Sets the enumerator to its initial position, which is before the
first element in the collection.
Gets the current element in the collection.
The current element in the collection.
Defines how to deal with backslashes in values of command line
arguments.
Does not perform any processing on backslashes.
Duplicates the trailing backslash.
Fixes the trailing backslash by replaces trailing double backslashes
with only one backslash and removing single trailing backslashes.
Removes all the trailing backslashes.
Groups a set of useful manipulation methods for
command-line arguments.
Performs backslash processing on the specified value using a given
method.
The to process.
The to use.
with backslashes processed using the given
.
Duplicates the trailing backslash.
The input string to check and duplicate the trailing backslash if necessary.
The result string after being processed.
Also duplicates trailing backslash in quoted value.
Fixes the trailing backslash. This function replaces the trailing double backslashes with
only one backslash. It also, removes the single trailing backslash.
The input string.
The result string after being processed.
Removes all the trailing backslashes from the input.
The input string.
The result string without trailing backslashes.
Quotes an argument value and processes backslashes using a given
.
The argument value to quote.
The to use.
The quoted argument value.