4.4.7. Visual Studio 2010 (vs2010)

Visual Studio 2010.

4.4.7.1. Special properties

In addition to the properties described below, it’s possible to specify any of the vcxproj properties directly in a bakefile. To do so, you have to set specially named variables on the target.

The variables are prefixed with vs2010.option., followed by node name and property name. The following nodes are supported:

  • vs2010.option.Globals.*
  • vs2010.option.Configuration.*
  • vs2010.option.* (this is the unnamed PropertyGroup with global settings such as TargetName)
  • vs2010.option.ClCompile.*
  • vs2010.option.ResourceCompile.*
  • vs2010.option.Link.*
  • vs2010.option.Lib.*
  • vs2010.option.Manifest.*

These variables can be used in several places in bakefiles:

  • In targets, to applied them as project’s global settings.
  • In modules, to apply them to all projects in the module and its submodules.
  • On per-file basis, to modify file-specific settings.

Examples:

vs2010.option.GenerateManifest = false;
vs2010.option.Link.CreateHotPatchableImage = Enabled;

crashrpt.cpp::vs2010.option.ClCompile.ExceptionHandling = Async;

4.4.7.2. Properties

4.4.7.2.1. All targets

vs2010.projectfile (type: path)

File name of the project for the target.

Default: $(id).vcxproj in the same directory as the .sln file

Inheritable from parent: no

vs2010.guid (type: string)

GUID of the project.

Default: automatically generated

Inheritable from parent: no

4.4.7.2.2. Modules

vs2010.solutionfile (type: path)

File name of the solution file for the module.

Default: same name as the module’s bakefile, with .sln extension, in @srcdir

Inheritable from parent: no

vs2010.generate-solution (type: bool)

Whether to generate solution file for the module. Set to false if you want to omit the solution, e.g. for some submodules with only a single target.

Default: True

Inheritable from parent: no