wx.Build.Cxx.CxxParameters Class Reference

Inheritance diagram for wx.Build.Cxx.CxxParameters:

Inheritance graph

List of all members.

Public Member Functions

virtual void AdditionalInfoToXML (System.Xml.XmlWriter destination)
string AddOptions (string toolName, string options)
override BuildParameters Clone ()
 CxxParameters ()
string GetOptions (string toolName)
void SetOptions (string toolName, string options)

Public Attributes

bool CompileAsCxx = true
bool DebugInfo = false
bool EnableExceptions = true
FeatureList Features = new FeatureList()
CollectionOfIncludePaths IncludePaths = new CollectionOfIncludePaths()
bool Incremental = false
CxxLibraries Libraries
CxxOptimization Optimization = CxxOptimization.OverallOptimization
CxxWarningLevel WarningLevel = CxxWarningLevel.ImportantWarnings

Properties

ToolSpecificOptionsCollection Options [get]


Detailed Description

Portable set of parameters for running C/C++ compilers and linkers.

Constructor & Destructor Documentation

wx.Build.Cxx.CxxParameters.CxxParameters (  ) 

The standard CTor might also define some tool specific options (cf. SetOptions()).

You may reconfigure some default tool specific options.


Member Function Documentation

virtual void wx.Build.BuildParameters.AdditionalInfoToXML ( System.Xml.XmlWriter  destination  )  [virtual, inherited]

This prints all public properties and fields on the provided destination. This may be overloaded by subclasses.

string wx.Build.Cxx.CxxParameters.AddOptions ( string  toolName,
string  options 
)

Options that are specific to a particular tool. C/C++ knows a lot of tools using important non-standard options. This is the place where to define these options. They may be on stack allocation, packing structure, floting point arithmetics etc.

Already known options will be extended by options (string concattenation: old options + ' ' + options). Otherwise, this is equivalent to SetOptions().

Returns:
the options of toolName after processing the method (equivalent to GetOptions()).

override BuildParameters wx.Build.Cxx.CxxParameters.Clone (  )  [virtual]

This creates a clone of the argument.

Implements wx.Build.BuildParameters.

string wx.Build.Cxx.CxxParameters.GetOptions ( string  toolName  ) 

Options that are specific to a particular tool. C/C++ knows a lot of tools using important non-standard options. This is the place where to define these options. They may be on stack allocation, packing structure, floting point arithmetics etc.

If this parameter set does not know options particular to toolName, the result will be an empty string.

void wx.Build.Cxx.CxxParameters.SetOptions ( string  toolName,
string  options 
)

Options that are specific to a particular tool. C/C++ knows a lot of tools using important non-standard options. This is the place where to define these options. They may be on stack allocation, packing structure, floting point arithmetics etc.

If this already knows options particular to toolName, those will be replaced. GetOptions(toolName) will return options after calling this.


Member Data Documentation

bool wx.Build.Cxx.CxxParameters.CompileAsCxx = true

If this is turned on (standard), the compiler will mangle the signature (types of the argument list) into the symbol of the function in the object code. This is common practice in C++ compilation. C++ compilers use this feature to allow different implementations of functions as long as they are declared with different argument lists. C allows each function name to be used only once. Mangling can be turned off by the program code declaring a functions as extern "C".

There is no standard for the C++ mangling of function names. So, DLLs providing mangled symbols for functions can only be used by code that is compiled with the same compiler.

bool wx.Build.Cxx.CxxParameters.DebugInfo = false

Compiles debug info into the code.

For instance applied to the cl.exe Microsoft compiler, this will enable option /Zi.

bool wx.Build.Cxx.CxxParameters.EnableExceptions = true

Enables use of exceptions. If true (the default), the created code will be able to catch exceptions. This can be turned off (not recommended) because this causes significant overhead.

For instance using cl.exe (Microsoft compiler), this will enable option /EHsc.

FeatureList wx.Build.Cxx.CxxParameters.Features = new FeatureList()

Globally defined features.

CollectionOfIncludePaths wx.Build.Cxx.CxxParameters.IncludePaths = new CollectionOfIncludePaths()

Paths where the compiler should look for include files. These are typically paths to global include files that do NOT depend to the compiler distribution. Paths to includes that have been shipped with the compiler will be added by the tool. Additionally, C/C++-projects may add paths that are specific to the project.

bool wx.Build.Cxx.CxxParameters.Incremental = false

Code is considered to be compilable reusing old code. This enables features like "minimal rebuild" that usually presuppose, that classes, structs, and other data types share the same declaration throughout the system. This is a good idea anyway but C/C++ allows all kinds of rubish to become source code.

CxxLibraries wx.Build.Cxx.CxxParameters.Libraries

Initial value:

 CxxLibraries.BasicCLibraries
            | CxxLibraries.BasicCPlusPlusLibraries
            | CxxLibraries.GDILibraries
            | CxxLibraries.GeneralOSLibraries
            | CxxLibraries.TcpAndRpcLibraries
Libraries that shall be linked with the project.

CxxOptimization wx.Build.Cxx.CxxParameters.Optimization = CxxOptimization.OverallOptimization

Determines desired optimizations.

CxxWarningLevel wx.Build.Cxx.CxxParameters.WarningLevel = CxxWarningLevel.ImportantWarnings

Warning level.


Property Documentation

ToolSpecificOptionsCollection wx.Build.Cxx.CxxParameters.Options [get]

This is a copy of the tool specific options that have been added by AddOptions().


The wx.NET Build System.   (c) 2009-2010 Harald Meyer auf'm Hofe