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.