VCConfiguration.WholeProgramOptimization Property

Gets or sets cross-module optimizations by delaying code generation to link time. WholeProgramOptimization exposes the functionality of the compiler's /GL (Whole Program Optimization) option.

Namespace:  Microsoft.VisualStudio.VCProjectEngine
Assembly:  Microsoft.VisualStudio.VCProjectEngine (in Microsoft.VisualStudio.VCProjectEngine.dll)

Syntax

'Declaration
Property WholeProgramOptimization As WholeProgramOptimizationTypes
WholeProgramOptimizationTypes WholeProgramOptimization { get; set; }
property WholeProgramOptimizationTypes WholeProgramOptimization {
    WholeProgramOptimizationTypes get ();
    void set (WholeProgramOptimizationTypes value);
}
abstract WholeProgramOptimization : WholeProgramOptimizationTypes with get, set
function get WholeProgramOptimization () : WholeProgramOptimizationTypes 
function set WholeProgramOptimization (value : WholeProgramOptimizationTypes)

Property Value

Type: Microsoft.VisualStudio.VCProjectEngine.WholeProgramOptimizationTypes
A WholeProgramOptimizationTypes enumeration.

Remarks

It is better to set the VCConfiguration object's WholeProgramOptimization property rather than to set the compiler property of the same name and the linker's LinkTimeCodeGeneration property.

The compiler's version of this property and the linker's LinkTimeCodeGeneration property are not available via the property pages.

Examples

See How to: Compile Example Code for Project Model Extensibility for information about how to compile and run this example.

The following example modifies the VCConfiguration object's WholeProgramOptimization property in the integrated development environment (IDE):

' add reference to Microsoft.VisualStudio.VCProjectEngine.
Imports EnvDTE
Imports Microsoft.VisualStudio.VCProjectEngine

Public Module Module1
    Sub Test()
        Dim Test As Boolean
        Dim prj As VCProject
        Dim cfgs As IVCCollection
        Dim cfg As VCConfiguration
        Dim MyDbg As VCDebugSettings
        prj = DTE.Solution.Projects.Item(1).Object
        cfgs = prj.Configurations
        cfg = cfgs.Item(1)
        cfg.WholeProgramOptimization = True
    End Sub
End Module

.NET Framework Security

See Also

Reference

VCConfiguration Interface

Microsoft.VisualStudio.VCProjectEngine Namespace