Generates a Solution file for use with Visual Studio, allowing integration of FASTBuild into Visual Studio.
VSSolution generates a Visual Studio Solution file, referencing Projects generated with VCXProject. It supports organizing the Projects within folders in the Solution. Solutions are compatible with VS 2010 and later.
.SolutionOutput - String - (Required)
The output location of the .sln file.Example:
.SolutionProjects - String or ArrayOfStrings - (Optional)
The previously defined VCXProject item(s) to include in the solution. Projects will be placed at the root of the Solution, unless a .Folders entry specifies otherwise (see below). Projects which are placed in Solution Folders do not need to be listed in .SolutionProjects.Example:
.SolutionConfigs - Array of SolutionConfig Structure(s) - (Optional)
The platform/configuration pairs you wish to appear in Visual Studio can be controlled here. They need to match those specified in your generated projects.Example:
If not specified, a default matrix of Win32|Debug, Win32|Release, x64|Debug and x64|Release configurations is used.
The optional .SolutionConfig and .SolutionPlatform allow custom solution level Configs and Platforms to be defined. This can be useful when the Config/Platform from the Solution and Project don't have a 1:1 relationship.Example:
.SolutionFolders - Array of SolutionFolder Structure(s) - (Optional)
Projects and solution items within a Solution can be organized into folders. Folders may contain projects and/or items, or can be empty.Example:
Projects not associated with folders will appear at the root of the the Solution.
.SolutionDependencies - Array of SolutionDependency Structure(s) - (Optional)
Projects within a Solution can be specified as depending on other projects within the Solution.
For simple solutions, this option is typically not necessary.
For more complex Solutions, specifying artificial SolutionDependencies may be useful (depending on the desired F5 behaviour). For example, in Solutions with multiple executables, only one of the executables should be listed as a .SolutionBuildProject (to prevent multiple concurrent invocations of FASTBuild). However, (because of what is arguably a bug in Visual Studio) only when this project (the "primary" project) is the active project, will F5 trigger an up-to-date build check on the target automatically before running. If you want this automatic check on other targets (rather than having to manually build the Project or Solution), you have to artificially make any "non-primary" projects depend on the "primary" executable.Example:
.SolutionVisualStudioVersion - String - (Optional)
Specify the VisualStudio version that you would like to appear as the generator of this Solution file.Example:
If not specified, "14.0.22823.1" will be used (VS2015 RC).
.SolutionMinimumVisualStudioVersion - String - (Optional)
Specify the minimum VisualStudio version necessary to open this Solution file.Example:
If not specified, "10.0.40219.1" will be used (VS2010 Express).
Various options can be specified at either the Solution or SolutionConfig level. Options defined at the SolutionConfig level will override those set at the Solution level.
SolutionBuildProject - String or ArrayOfStrings - (Optional)
Projects which will build when solution is built. Generally, only one project should be specified.Example:
SolutionDeployProjects - String or ArrayOfStrings - (Optional)
Projects in the solution to be deployed.Example: