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] |
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.
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().
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.
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
.
Globally defined features.
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.
Initial value:
CxxLibraries.BasicCLibraries | CxxLibraries.BasicCPlusPlusLibraries | CxxLibraries.GDILibraries | CxxLibraries.GeneralOSLibraries | CxxLibraries.TcpAndRpcLibraries
CxxOptimization wx.Build.Cxx.CxxParameters.Optimization = CxxOptimization.OverallOptimization |
Determines desired optimizations.
CxxWarningLevel wx.Build.Cxx.CxxParameters.WarningLevel = CxxWarningLevel.ImportantWarnings |
Warning level.
ToolSpecificOptionsCollection wx.Build.Cxx.CxxParameters.Options [get] |
This is a copy of the tool specific options that have been added by AddOptions().